Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kodowanie adresu URL
Forum PHP.pl > Forum > Po stronie przeglądarki
piernik
Tworzę stronę kodowaną w UTF-8 (obsługuje znaki z całego świata). Dlatego musimy kodować znaki w adresie URL za pomocą funkcji urlencode() (żeby polskie czy rosyjskie krzaczki były dobrze kodowane).

Problem pojawił się gdy otwieram okienko i w javieScrpit pobieram dane z formularza okienka opener - wiadomo w formularzu moga pojawić się rosyjskie krzaczki.
Sęk w tym, że ja pobieram te dane i wysyłam je do adresu openera i tym sposobem w adresie openera pojawiaja sie rosyjskie krzaczki...

Czy javascript ma jkiś odpowiednik funkcji urlencode() questionmark.gif
Czy też może idzie tak skonfigurować apache'a żeby domyślnie te adresy konwertowałquestionmark.gif
Paul
Cytat(piernik)
Czy javascript ma jkiś odpowiednik funkcji urlencode() questionmark.gif

Sprawdz funkcje escape i unescape, ale nie wiem jak to sie bedzie zachowywac dla ruskich krzaczkow, wiec niczego nie obiecuje smile.gif
piernik
Funkcja escape()

Funcja zwraca heksadecymalny zapis łańcucha znaków w zmiennej kodowany w ISO-8859-1.

Myślę, że to nie spełni oczekiwań bo my kodujemy w UTF-8 który ma więcej znaków.

Może jednak rozwiązanie serwerowe jest konieczne, tylko czy takie istnieje??
Paul
Znalazlem smile.gif

Cytat
encodeURI - Computes a new version of a complete URI replacing each instance of certain characters with escape sequences representing the UTF-8 encoding of the characters.

Cytat
Zaszła ważna zmiana dla programistów JavaScript - funkcje escape()
i unescape() są obecnie zgodne ze standardem ECMAScript-262 (bug 44272).
Oznacza to, że nie nadają się one do manipulacji adresami URL.
Zamiast tego należy korzystać z funkcji encodeURI(),
decodeURI(), encodeURIComponent() i decodeURIComponent().
piernik
ok - dzięki serdeczne - powinno zadziałać...
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-2024 Invision Power Services, Inc.