Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/js] Polskie znaki w $_GET pod ie
Forum PHP.pl > Forum > Przedszkole
lutador
Witam,

mam problem z przesylaniem getem polskich znakow. Pod firefox'em nie ma takiego problemu tylko pod IE.. do wyslania zmiennych uzywam ajax'a. W jaki sposob wyslac zmienna zeby ie nie robil krzakow?

index.php
  1. <?php
  2. <html>
  3. <head>
  4. <title>Edycja danych pracowników</title>
  5.    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6.      <link rel="stylesheet" href="include/style.css" type="text/css">
  7. <script type="text/javascript">
  8.  
  9. //***************// AJAX FUNCTION
  10.  
  11. function ajaxSzukaj(){
  12.    var ajaxRequest;      
  13.    try{
  14.        // Opera 8.0+, Firefox, Safari
  15.        ajaxRequest = new XMLHttpRequest();
  16.    } catch (e){
  17.        // Internet Explorer Browsers
  18.        try{
  19.            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
  20.        } catch (e) {
  21.            try{
  22.                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
  23.            } catch (e){
  24.                alert("Your browser broke!");
  25.                return false;
  26.            }
  27.        }
  28.    }
  29.  
  30.    ajaxRequest.onreadystatechange = function(){
  31.        if(ajaxRequest.readyState == 4){
  32.            var ajaxDisplay = document.getElementById('szukaj');
  33.            
  34.            ajaxDisplay.innerHTML = ajaxRequest.responseText;
  35.        }
  36.    }
  37.    var string = document.getElementById('string').value;
  38.    
  39.    var queryString = "?string=" + string;
  40.    ajaxRequest.open("GET", "function/form_szukaj.php" + queryString, true);
  41.    ajaxRequest.send(null);
  42. }
  43. </script>      
  44.      
  45. </head>
  46. <body>
  47.  
  48. <form
  49.    action="form_edycja.html"
  50.    name="basicform"
  51.    id="basicform"
  52.    method="post" >
  53. 1. Szukamy po nazwisku, oddziale, tel. stacjonarnym, komórkowym
  54. <fieldset>
  55.    <label for="username">Szukaj:</label>
  56.    <input
  57.        type="text"
  58.        id="string" />
  59. </fieldset>
  60. <input type='button' onclick='ajaxSzukaj()' value='Szukaj' />
  61.  
  62. </form>
  63.    <div id='szukaj'></div>
  64. </body>
  65. </html>
  66. ?>


form_szukaj.php

  1. <?php
  2. include('../include/connect.php');
  3.  
  4.        $szukaj = "SELECT * FROM Telefony WHERE nazwisko LIKE '%$_GET[string]%' OR telefons LIKE '%$_GET[string]%' OR oddzial LIKE '%$_GET[string]%' OR telefonk LIKE '%$_GET[string]%'";
  5.        
  6.        echo $szukaj;
  7. ?>
Prym
co do twojego problemu to w początkach zabawy ajaxem jak działałem bez poniższych bibliotek ale jak ty na XMLHttpRequest to miałem podobny problem ale okazało się że plik z którego pobierałem dane (twój form_szukaj.php) był zapisany w kodowaniu ISO zmieniłem na utf i było ok a oprócz tego na początku pliku index.php zawsze wrzucam kodowanie w header - nigdy mi się literówki nie zrobiły jeśli tekst był zapisany w danym kodowaniu :

  1. <?php
  2. header('Content-Type: text/html; charset=utf-8');
  3. ?>


a teraz z innej beczki wiem że to co napisze niektórzy potraktują jako "poscie na łatwiznę" ale nie wygodniej popracować na gotowym rozwiązaniu funkcji XMLHttpRequest? ja osobiście bardzo lubię używać mintAjax (rodzimego producenta winksmiley.jpg ) albo standardowego prototype.
są dopracowane i niwelują niektóre błędy pojawiające się przy zabawie XMLHttpRequest.
lutador
W form_szukaj.php mam ustawione kodowanie na utf-8, dodalem header ale dalej jest ten sam problem, mozna moj problem jakos latwo rozwiazac? tak zebym nie musial przerabiac w calego skryptu?
Spawnm
zobacz czy wszystkie includowane pliki mają ustawione kodowanie na utf-8 bez bom ,
zobacz czy w czasie zmiany kodowania nie pozamieniało ci polskich znaków na krzaczki , bo i tak się zdarza.
lutador
Nie wiem czy do konca mnie rozumiecie.. w samym pliku mam polskie znaki tylko jak wysylam moim formularzem np: Poznań to otrzymuje w form_szukaj.php to co ponizej. Przez brak "ń" nie moge znalezc niczego w bazie
  1. <?php
  2. SELECT * FROM Telefony WHERE nazwisko LIKE '%Pozna� OR telefons LIKE '%Pozna&#65533; OR oddzial LIKE '%Pozna� OR telefonk LIKE '%Pozna�
  3. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.