Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]znaki regionalne w GET
Forum PHP.pl > Forum > Przedszkole
rajcho
Podejrzewam, ze temat byl poruszany ale nie moge nic podobnego w zadensposob znalezc.

Chodzi o uzycie znakow regionalnych w linkach.

Mam zatem znaczek regionalny na przyklad 'Ś'. Ma byc on linkiem typu 'index.php?q=Ś' Niestety po utworzeniu kodu otrzymuje tylko %costam%costam.

Korzystam z .htaccess a regula jest [a-z]+ Wiec i regula jest niepoprawna bo nie uwzglednia polskich znakow jak i link ktory pojawia sie tez jest nie do uzycia. Jak wpisze [a-zŚ] to musze zapisac w UTF-8 a nie ascii i wtedy serwer wysypuje blat z kodem 500. Czyli rozumiem, ze .htaccess musi byc zapisany w ASCII ale to niweluje mozliwsc mapowania polskich znakow.

Zmiena $_GET['q'] wykorzystuje pozniej w wyszukianiu w bazie danych wiec musze uzyskac forme wejsciowa.

Jest jakas forma kodowania aby uzyc znako regionalnych i przesylac poprzez $_GET?

Z gory dzieki za pomoc.
b4x
urlencode" title="Zobacz w manualu PHP" target="_manual ?

Swoją drogą mi rewrite przyjmuje odpowiednio znaki PL - i jakoś z tym problemu nie miałem nigdy, przykładowo mam tak: /wyszukiwarka/mp3/cześć/1

//edit

.htaccess a regula jest [a-z]+

to zrób sobie (.*)
rajcho
zaraz wyprobuje ta funkcje.

ok przyznam ze nie chodzi o polskie znaki ale nie chcialem wchodzic w szczegoly a na polskich powinny byc takie same zasady. Ale mozliwe ze przejdzie i przez .htaccess na zasadzie [a-z]. Dzieki za ta funkje, mam nadzieje, ze starczy.

wlasciwie to chodzilo o urldecode poniewaz przegladarka sama kodowala znaki w linkach. Dodatkow w .htaccess musialem niestety zmienic z [a-z] na .* poniewaz w adresie pojawiaja sie wtedy %xx%xx zamiast jednej litery.

Stosowalem takze htmlentities() co bylo bledem i zamiast tego stosuje teraz htmlspecialchars() to tak ewentalnie dla potomnych:)
dzieki za naprowadzenie na dobry tor.
erix
Cytat
ok przyznam ze nie chodzi o polskie znaki ale nie chcialem wchodzic w szczegoly a na polskich powinny byc takie same zasady.

Z tego, co pamiętam, to np. Fx i Opera w inny sposób kodują unicodowe znaki dla $_GET, dlatego wymaga to sprawdzenia, jeśli wpisujesz bezpośrednio w pasek adresu. A [a-z] nie zawiera polskich krzaków, jak byśmy chcieli. winksmiley.jpg
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.