Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z polskimi znakami w URL tylko w Safari
Forum PHP.pl > Forum > XML, AJAX
infor946
witam
z góry informuje że przejrzałem forum i googlałem w poszukiwaniu rozwiązania, ale nie znalazłem go i piszę tutaj z prośbą o pomoc.
Wszystkie strony koduje utf-8.
Mam stronę index.php z prostym formularzem gdzie jest m.in pole input tekstowe. Onsubmit uruchamia funkcje javascript która pobiera wartość inputa następnie przesyłam jquery ajaxem metodą POST uprzednio traktując ten string funkcją encodeURI do strony search.php - tam odebrany POST jest urldecode'owany i przeszukuje baze, a wyniki zwraca do jquery i wyświetlam na stronie index.php - wszystko działa jak należy nie ma problemów z polskimi znakami

ale... w funkcji javascript równocześnie zmieniam adres url - ponieważ bez przeładowania strony, więc dopisuje do adresu hash: index.php#search=łódź
w taki sposób
window.location.hash='search='+searchString; - ten string w przeciwieństwie do tego wysyłanego ajaxem nie koduje funkcją encodeURI, ponieważ w adresie chcę mieć ładnie polskie znaki - takie jest zamierzenie
i tu też nie ma problemu o ile korzystam z IE, Firefoxa, Chroma czy Opery. Problem pojawia się kiedy używam Safari - ta przeglądarka sama koduje mi polskie znaki i w wyniku w URL mam zamiast ładnie łódź mam B%F3dz czyli index.php#search=B%F3dz

wiem że da się to rozwiązać widziałem w necie strony które także modyfikują hash bez przeładowania strony na podstawie wpisanego tekstu i używając Safari uzyskać tam można polskie znaki w URL - tylko co trzeba zrobić ? 2 dni się z tym męcze
mzdybel
Znalazłeś może rozwiązanie tego problemu?
Mam podobną sytuacje, z tym że url-a dostaję z swf-a w postaci index.php?miasto=świętkorzyskie
Oczywiscie problem pod FF i operą - wyjątkowo IE działa poprawnie.
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.