Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]znaki regionalne w GET
rajcho
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 26.02.2008

Ostrzeżenie: (0%)
-----


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.

Ten post edytował rajcho 4.02.2009, 10:07:39
Go to the top of the page
+Quote Post
b4x
post
Post #2





Grupa: Zarejestrowani
Postów: 658
Pomógł: 95
Dołączył: 20.12.2005
Skąd: N54,35° E18,63° (Gdańsk)

Ostrzeżenie: (0%)
-----


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 (.*)

Ten post edytował b4x 4.02.2009, 10:11:11


--------------------
Go to the top of the page
+Quote Post
rajcho
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 26.02.2008

Ostrzeżenie: (0%)
-----


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.

Ten post edytował rajcho 4.02.2009, 12:00:21
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 13:30