Autor | Zpráva | ||
---|---|---|---|
lukas87 Profil * |
#1 · Zasláno: 24. 5. 2007, 21:35:09
v mozile na linuxu se rozkládá řetězec pomocí substr se špatným kódováním.
kódování mám nastaveno na utf-8 soubor je uložen v utf-8 a tenhle script: $carovy_kod="ččč"; if (substr($carovy_kod,1,1)=="č") echo "je to č"; else echo "je to něco jinýho"; vypíše "je to něco jinýho" když si chci vypsat jenom substr($carovy_kod,1,1) tak to vypíše otaznk. Nevíte někdo čím by to mohlo být? |
||
koudi Profil |
#2 · Zasláno: 24. 5. 2007, 21:37:35
To samozrejmě neni chyba mozily na linuxu...php jede na serveru a tudiz to prohlizec a OS neovlivni. To uz bys moh vedet.
Nicmene problem je v tom, ze substr neumi pracovat s UTF8 (a jinymi vicebyte kodovani). Musis pouzit mb_* funkce. |
||
DJ Miky Profil |
#3 · Zasláno: 24. 5. 2007, 21:51:29
Aby to šlo, musel bys použít mb_* fce, jak psal koudi, nebo si „vysubstrovat“ dva znaky, pokud víš, že tam vždy bude znak s diakritikou.
|
||
lukas87 Profil * |
#4 · Zasláno: 24. 5. 2007, 22:04:38
jo vim že jede php na servru ale nevěděl sem proč mi to na php servru co jede na windowsech funguje a v php na linuxu ne :-) a hlavně sem netušil že ta funkce neumí utf moc díky za rady.
|
||
Časová prodleva: 15 dní
|
|||
Víček Profil * |
#5 · Zasláno: 8. 6. 2007, 22:08:52
koudi : si zlato, tvá odpověď mi hrozně pomohla, věděl jsem že musí existovat něco jako Multibyte String Functions, ale nemohl jsem to najít :-)
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0