Autor | Zpráva | ||
---|---|---|---|
Gandalf Profil * |
#1 · Zasláno: 5. 3. 2008, 16:32:13
Poradí někdo jak zjistit správnou délu řetězce v UTF-8, někde jsem o tom četl, ale nemohu to dohledat.
Moc díky |
||
Acci Profil |
#2 · Zasláno: 5. 3. 2008, 16:37:12
|
||
Gandalf Profil * |
#3 · Zasláno: 5. 3. 2008, 16:51:57
mb_strlen
To jsem zkusil, ale vrací to sále chybnou délku. Vyzkoušel jsem následující a funguje to... <?php $retezec = "ščřžýáíé"; $retezec = iconv("UTF-8", "CP1250", $retezec); echo strlen($retezec); ?> |
||
souki Profil |
#4 · Zasláno: 5. 3. 2008, 17:00:52
Gandalf
trochu neefektivní. mb_strlen by fungovat měl. Zkontroluj jestli máš dobře nastavené multibyte funkce |
||
Časová prodleva: 1 rok
|
|||
kachnak Profil |
#5 · Zasláno: 28. 6. 2009, 19:45:12
ani mne nefunguje strlen ani mb_strlen a ked pouzijem to iconv tak mi to pise otazniky.
|
||
Yur4Y Profil |
#6 · Zasláno: 28. 6. 2009, 20:09:50
Súbor musíte mať uložený v rovnakom kódovaní, aké používate ako druhý parameter fcie mb_strlen(). A ak chcete takýto text vypisovať, deklarujte kódovanie v HTTP hlavičke alebo v <meta>.
|
||
kachnak Profil |
#7 · Zasláno: 28. 6. 2009, 21:33:08
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<?php header('Content-Type: text/html; charset=utf-8'); $slovo="ý"; $dlzka=mb_strlen($slovo); echo"$slovo - $dlzka"; ?> stale mi to pise ze dlzka je 2 ked otvorim subor tak pise ze je v kodovani utf-8 |
||
Yur4Y Profil |
#8 · Zasláno: 28. 6. 2009, 21:41:34
Za prvé - header() vám takto fungovať nebude, pretože ste už odoslali výstup, a to je <meta> tag. Zapamätajte si, funkcie, ktoré modifikujú HTTP hlavičku, ako header(), session_start() a ďalšie fungujú len vtedy, ak ich použijete úplne na začiatku súboru.
Za druhé - mb_strlen má síce nepovinný druhý parameter, ale veľmi pochybujem, že v php.ini máte defaultné kódovanie UTF-8. Použite toto: $dlzka=mb_strlen($slovo, 'UTF-8'); |
||
kachnak Profil |
#9 · Zasláno: 28. 6. 2009, 22:18:21
dakujem.. toto som potreboval funguje to super.
takze ak mam stranku php v tvare php kod html kod tak ked prvy php prikaz dam odoslat hlavicku header('Content-Type: text/html; charset=utf-8'); potom uz nemusim pisat meta hlavicku na kodovanie? |
||
Časová prodleva: 15 let
|
0