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