Chciałbym zapytać, w jaki sposób AJAX przesyła polskie znaki, tzn. nie chodzi mi dokładnie o wyjaśnienie jak to się dzieje, tylko jak te znaki są zmieniane, jak wyglądają po przesłaniu.
Stworzyłem sobie wyszukiwarkę oparta na ajaxie, tylko jeśli probuję odszukać osobę, która ma polskie znaczki w imieniu/nazwisku, wyskakuje mi komunikat, nic nie znaleziono.
Więć tak przedstawię, jak wygląda sytuacja.
Baza danych MySQL:
System porównań dla połączenia MySQL: utf8_unicode_ci
Tabela osoby - pole nazwisko - Metoda porównywania napisów: utf8_polish_ci
-----------------------------------------------------------------------------------------
Przeglądarka: FF (kodowanie) - wybór automatyczny-> Wlączony-----------------------------------------------------------------------------------------
Edytor: Notead++: Format -> Koduj w ANSI (Standardowe ustawienia)
-----------------------------------------------------------------------------------------
Kodowanie w meta: Nie dawałem w ogóle mety w head ani headera, więc nie ustawiałem kodowania dla plików,
w sumie to wszystko działa poprawnie, tylko, jak przekazuje dane za pomocą AJAXA, to wtedy się coś psuje.
Aha, dane przed dodaniem do bazy danych przepuszczam przez funkcję znaki(), która zamienia polskie znaki na unicode
Oto fragment funkcji:
<?php function znaki($tekst) { //... itd. return $tekst; } ?>
W pliku szukaj.php, który jest odpowiedzialny za wyszukanie danych w bazie danych dałem na początku:
<?php $fraza = znaki($_POST["q"]); ?>
ale i tak nic nie znajduje.
Proszę o pomoc, co pozmieniać/dopisać/usunąć w skrypcie, żeby działało, bo już chyba z 4 dzień nad tym siedzę i nic sensownego nie wymyśliłem.
Aha, korzystam z advAJAX.
Pozdrawiam.
Czy naprawdę nikt nie wie?? Przecież jak programujecie cos w AJAXIE, to chyba zdarzył wa sie taki problem i pewnie juz dawno go rozwiązaliście, ja niestety nie wiem jak go rozwiązać, gdyż dopiero zaczynam swoją przygodę z tym językiem, dlatego pytam was o rozwiązanie tego problemu, bardzo bym prosił o jakieś wskazówki.