Autor Zpráva
doominick
Profil *
Potřeboval bych poradit nějakou funkci, nebo posloupnost funkcí, které by zpracovaly adresu typu:
http://mujserver.cz/?q=%9Elu%9Dou%E8k%FD
mám totiž formulář co odesílá slova metodou get a dělá to hodně problémy s utf8,
adresa totiž po odeslání formuláře vypadá dobře a i dobře funguje:
http://mujserver.cz/?q=žluťoučký
jenže s takovou adresou nemůžu vložit do pole adresa prohlížeše, protože on ji hend převede na
http://mujserver.cz/?q=%9Elu%9Dou%E8k%FD
zkoušel jsem už různé oficiální i neoficiální funkce co by měly proměnnou q v php vypsat v normální podobě, ale pořád nic
nemáte nějakou radu?
nightfish
Profil
http://mujserver.cz/?q=%9Elu%9Dou%E8k%FD
tohle rozhodně není UTF-8, tipl bych si windows-1250
nicméně pokud k proměnné přistupuješ přes $_GET['q'], tak by:
- buď neměl být problém
- v případě, že problém je, je potřeba překódovat (např. iconv("windows-1250", "utf-8", $_GET['q']))
tiso
Profil
urldecode()
doominick
Profil *
nightfish
iconv("windows-1250", "utf-8", $_GET['q']) funguje díky
takže to asi skutečně bude ve win1250, což je ale celkem problém, protože v prohlížeči si defaultní překládání adres nenastavím (a kdyby jo tak k tomu nemůžu nutit ostatní)
zkusím nějakou podmínku, která rozpozná, jestli je to adresa vytvořená formulářem na stránce (?q=žluťoučký) nebo prohlížečem (?q=%9Elu%9Dou%E8k%FD) a podle toho kdyžtak použije iconv("windows-1250", "utf-8", $_GET['q'])
tiso
urldecode() ani rawurldecode() na tohle nejsou ideální, protože s ?q=žluťoučký neudělají nic a s ?q=%9Elu%9Dou%E8k%FD udělají něco ještě horšího naprosto nečitelného

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: