Autor | Zpráva | ||
---|---|---|---|
tito100 Profil |
dobrý den. už som tu raz písal z podobným problémom. (nemůžem najist ten príspevok)
posielam cez post argument napríklad nazov=ěščřž (nazov=%EC%9A%E8%F8%9E) a potrebujem z neho odstránit diakritiku. mám spravené : function diakritika($text) { return (strtr($text, 'ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýžABCDEFGHIJKLMNOPRSTUVWXYZ','aaccdeeeinoorstuuuyzaaccdeeeinoorstuuuyzabcdefghijklmnoprstuvexyz')); } $string=(diakritika(htmlspecialchars_decode($string))); echo $string; ind=a&okres=all&nazov=%EC%9A%E8%F8%9E[/url] skúšal som ur různe veci. a výsledok je stále rovaký . scripty mám uložené v UTF-8 vopred dakujem Moderátor Majkl578: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
Jake898 Profil |
#2 · Zasláno: 30. 3. 2010, 15:59:24
Neměla by spíš být místo funkce htmlspecialchars_decode() použita urldecode()? :-)
|
||
tito100 Profil |
#3 · Zasláno: 30. 3. 2010, 16:06:48
no. mnela, aj som hu tam mal, ako som skušal ine veci tak som to zmenil.
nicmene, ani aj mám $string=(diakritika(urldecod($string))); tak to vypisuje rovnaký výsledok |
||
tito100 Profil |
zistil som že mam niejakú divnú tú funkciu
function diakritika($text) { return (strtr($text, "ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýžABCDEFGHIJKLMNOPRSTUVWXYZ","aaccdeeeinoorstuuuyzaaccdeeeinoorstuuuyzabcdefghijklmnoprstuvexyz")); } vypísalo mi to : mnzbmfmfz™zľxzxb Moderátor Majkl578: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
Musulman Profil * |
#5 · Zasláno: 30. 3. 2010, 18:11:49
Tohle je poněkud šitózní skript ale diakritiku z textu v UTF-8 odstraní.
$tab = array("\xc3\xa1"=>"a", "\xc3\xa4"=>"a", "\xc4\x8d"=>"c", "\xc4\x8f"=>"d", "\xc3\xa9"=>"e", "\xc4\x9b"=>"e", "\xc3\xad"=>"i", "\xc4\xbe"=>"l", "\xc4\xba"=>"l", "\xc5\x88"=>"n", "\xc3\xb3"=>"o", "\xc3\xb6"=>"o", "\xc5\x91"=>"o", "\xc3\xb4"=>"o", "\xc5\x99"=>"r", "\xc5\x95"=>"r", "\xc5\xa1"=>"s", "\xc5\xa5"=>"t", "\xc3\xba"=>"u", "\xc5\xaf"=>"u", "\xc3\xbc"=>"u", "\xc5\xb1"=>"u", "\xc3\xbd"=>"y", "\xc5\xbe"=>"z", "\xc3\x81"=>"A", "\xc3\x84"=>"A", "\xc4\x8c"=>"C", "\xc4\x8e"=>"D", "\xc3\x89"=>"E", "\xc4\x9a"=>"E", "\xc3\x8d"=>"I", "\xc4\xbd"=>"L", "\xc4\xb9"=>"L", "\xc5\x87"=>"N", "\xc3\x93"=>"O", "\xc3\x96"=>"O", "\xc5\x90"=>"O", "\xc3\x94"=>"O", "\xc5\x98"=>"R", "\xc5\x94"=>"R", "\xc5\xa0"=>"S", "\xc5\xa4"=>"T", "\xc3\x9a"=>"U", "\xc5\xae"=>"U", "\xc3\x9c"=>"U", "\xc5\xb0"=>"U", "\xc3\x9d"=>"Y", "\xc5\xbd"=>"Z"); $text = "kůň"; $text = strtr($text, $tab); echo $text; //kun |
||
AM_ Profil |
#6 · Zasláno: 30. 3. 2010, 19:36:00
Jake898:
„Neměla by spíš být místo funkce htmlspecialchars_decode() použita urldecode()?“ Neměla, data jsou zakódovaná pouze v samotné URL, do _GET se už přenesou správně. Soubory jsou sice v utf-8, ale máš i dobře nastavenou hlavičku <meta http-equiv="content-type" content="text/html;charset=utf-8"> ? Jinak není problém použít to co Musulman, nebo nějakou "profesionálnější" funkci, např. String::webalize z Nette frameworku. |
||
Časová prodleva: 14 let
|
0