Portál AbcLinuxu, 10. května 2025 08:19
http://domena.sk/subor.php?search=pařtak PHP v IE
echo urlencode($search) //je pa%F8PHP v Mozille
echo urlencode($search) //je pa%C5%99Cize, ak spravne tomu rozumiem písmeno ř ma v prvom pripade nespravne 1 bit a v druhom spravne 2 bity. Konkretne v mojom pripade javascript vola externy subor.php aj s parametrom search. V Mozille mi to funguje, ale neviem si poradit s IE. Nevedel by niekto poradit? Dakujem
Rada je jednoduchá: nepoužívat GET, používat POST.Způsobuje v IE další problém, přinejmenším s tlačítkem Zpět, pokud je v hlavičkách zakázané cachování, a v daném případě navíc porušuje sémantiku POSTu.
$ php -r "echo iconv('windows-1250', 'utf-8', urldecode('pa%F8'));" pařPokud tedy nastavení enctype nepomůže a stránky jsou v cp1250, předělal bych je do unicode s kódováním utf-8.
//toto je subor.php <HTML> <HEAD> <TITLE>test</TITLE> <META http-equiv="content-type" content="text/html; charset=UTF-8"> </HEAD> <BODY> <? $search=urlencode($search); echo $search; //vysledok je: Mozilla %C5%99 ????? IE %F8 ?> </BODY> </HTML>Inac v mojom pripade mam na utf-8 stranke tento javascript (pouzil som ho ako vzor, nie je to moja stranka), ktory dostava vysledky zo suboru natahni.php, ktory je tiez v utf-8 a aj texty v mysql su v utf-8. Jedina vec, co ma napada, je, ze by to bolo mozne v javascripte uz definovat nejako, aby sa pouzilo utf-8, lenze javascript neovladam, takze tato moznost mi odpada. Cize ostava mi jedine to urobit pomocou iconv v natahni.php, ine funkcne riesenie nevidim.
Content-Type
server, tag <meta>
v HTML souboru měl sloužit pouze k tomu, aby měl server kde tuhle informaci vzít – a nechávat prohlížeč kódování zjišťovat z tohoto tagu není moc rozumné.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.