Autor | Zpráva | ||
---|---|---|---|
Vojta H. Profil * |
#1 · Zasláno: 11. 8. 2007, 22:44:55
Dobrý den všem, mám malý dotaz ohledně multibytových funkcí.
PHP i XHTML mi jede v UTF-8, vše bez problému. ALE! Narazil jsem na problém, když jsem chtěl z řetězce "vyseknout" nějakou jeho část. Mějme následující příklad: Uživatel zavolal stránku "priklad.php?neco=šušušu": $neco = $_GET ['neco']; $necojineho = substr ($neco, 0, 2); Kýžený výsledek: šušu $necojineho však obsahuje nesmysly. Chápu, že funkce substr () není dělaná na UTF-8 a měla by se místo ní použít funkce mb_substr (). Ale co dělat v případě, že jsou na hostingu funkce mb_ zakázané? Dá se to udělat jinak? Děkuji všem za vyřešení této (pro mě) záhady. |
||
Alphard Profil |
#2 · Zasláno: 11. 8. 2007, 22:50:16
Děkuji všem za vyřešení této (pro mě) záhady.
není to záhada :-) UTF se chová jinak něco podobného se zde již řešilo (zjištění délky v UTF, kde nefungovalo strlen), zkus to najít jinak máš v záloze funkci iconv(); |
||
DoubleThink Profil * |
#3 · Zasláno: 12. 8. 2007, 00:38:04
Ale co dělat v případě, že jsou na hostingu funkce mb_ zakázané?
Změnit hosting - multibyte funkce jsou součástí jádra a pro většinu projektů jsou naprosto nezbytné. |
||
Vojta H. Profil * |
#4 · Zasláno: 12. 8. 2007, 10:32:17
Nezbytné... takže vy ty funkce normáln používáte? Nebo jak to děláte vy?
Dotaz: Ale iconv() také není zrovna standardní funkce, ne? Tím myslím, že není součástí jádra? Nebo se mýlím? Děkuji :). |
||
DoubleThink Profil * |
#5 · Zasláno: 13. 8. 2007, 16:42:38
takže vy ty funkce normáln používáte?
Ano, protože se bez nich prakticky nedá obejít (nebo s velkými obtížemi). Ale iconv() také není zrovna standardní funkce, ne? Je to standardní funkce, součástí každé distribuce PHP, zapnutá na drtivé většině hostingů. |
||
v6ak Profil |
#6 · Zasláno: 14. 8. 2007, 11:10:45
Funkci substr pro utf-8 si lze napsat - pokud se nemýlím:
je-li ord(znak)>127 =>znak má pokračování jinak =>znak končí pokud se mýlím, tak se omlouvám. |
||
thingwath Profil |
#7 · Zasláno: 14. 8. 2007, 11:13:32
v6ak
Jo, jasně že jde. Ale... |
||
v6ak Profil |
#8 · Zasláno: 14. 8. 2007, 18:32:05
... ale pokud nemáte dobrý webhosting, asi vám nic jiného nezbývá ...
|
||
Časová prodleva: 17 let
|
0