UTF-8
UTF-8 je geniální kódování. Pokud programuji BLOG:CMS, musím pochopitelně počítat s tím, aby onen zdrojový kód běžel bez problémů nejen v Česku, ale i (třeba) v Rusku, Japonsku či Číně. Kdekoliv.
Mírný problém je sice se zpracováním UTF-8 řetězců v PHP, zejména funkce představené
ve stařičkém PHP 3.x s UTF-8 vůbec nepočítají, například takové funkce substr()
či strstr()
pracují bajtově, a rovněž tak řada dalších funkcí, nicméně, stále je to menší
problém, než počítat ve Vašem kódu s desítkami různorodých znakových sad.
Nové funkce v PHP 4.3/5.0 navíc již s UTF-8 počítají, včetně funkcí / metod pro práci s XML, neboť UTF-8 je implicitní kódování pro XHTML / XML.
Problémem není ani editace zdrojového textu v UTF-8 na libovolné platformě, jeden z nejlepších programátorských editorů, JEdit, nativně pracuje s UTF-8 a je psaný pod Javou, tudíž běží na každém OS, kde je implementována JVM. Pár lidí používá na Windows rovněž PSPad, nicméně, ten se pro rozsáhlejší projekty skutečně nehodí, a to nejenom proto, že jeho podpora UTF-8 je jen částečná (rozumějte, velice nedostatečná).
Řada nových Linuxových distribucí (SUSE 9.1, Fedora Core 3, MDK 10.1) se rovněž implicitně instaluje s nativní podporou pro Unicode / UTF-8.
Ještě před rokem jsem dělal projekty ve windows-1250, windows-1251, windows-1252, iso-8859-2, iso-8859-1, prostě podle potřeb daného projektu, a řešil jsem řadu problémů při konverzích, a dnes vlastně ani nevím proč jsem už dávno nepoužíval UTF-8. S přechodem na UTF-8 se řada problémů, které člověk s různými kódovými stránkami měl, automaticky vyřešila.
Nebylo by od věci zrušit veškeré existující kódové stránky a schémata, a používat jen UTF-8. Spousta věcí by se dělala mnohem snadněji.
Nenapadá mě rozumný důvod, proč vlastně něco jiného než UTF-8 ještě používat…
PS: ne, úspora pár bajtů a přenosové kapacity ten důvod proti UTF-8 není. Internet zahlcují P2P sítě, ne používání UTF-8.
Ten zásadní důvod, proč něco jiného než UTF-8 používat, jste popsal hned v úvodu: *obrovské* množství "legacy" aplikací, které jsou napsané tak, že počítají jenom se single-byte kódováním.
Takový EBCDIC upadl v zapomění velmi rychle (tak rychle a hluboce, že většina ze čtenářů asi nebude ani tušit co to je), ale řekl bych, že se starým dobrým Americkým standardním kódem pro výměnu informací (ASCII) a jeho variacemi si tady ještě pár desítek let pobudeme - stihl se příliš rozšířit.
Just notice about your notice about JEdit:
Saying JAVA is good because it works on all OSes is like saying anal sex is good because it works on all genders.
Používám UTF-8 a narážím při tom na jeden problém.
Když k souboru v UTF-8 přidám Unicode Signature (BOM), dokáží kódování rozpoznat všechny editory, které UTF-8 podporují. Nicméně, pracuji s šablonovým systémem a když se jednotlivé bloky stránky dají dohromady, vloží se všetně několika BOM naků. MSIE Pak tyto znaky internpretuje jako neznámí znak a navíc jej doplní odřádkováním.
Pokud Signaturu nepoužiji, menší editory JEdit, PsPad a podobně UTF-8 nerozpoznají a soubor se v nich neotevře korektně.
Řešení bude jistě jednoduché, tak me prodím jen nakopněte.
PS: Defaultně používám Dreamweaver, který s tímto problémy nemá.
[3] mě tedy v JEditu funguje zvolit si v Global Options / General jako Default Encoding UTF-8..
Internet IMHO zahlcují spamy, ne P2P sítě ;)
[5] to se pleteš, více než 50% veškerého trafficu na internetu tvoří stahovači z P2P sítí..
[6] No a podle jinych pruzkumu 75% prenosu na internetu je spam.
Aha! Nektery spam je ocividne siren pomoci p2p.
75% spamu? to je imho blbost...
taky jsem začal používat před nedávnem utf-8. ty prohlížeče, které neumí utf-8, neumí ani iso ani win-xxxx. třeba msie3.
[6] [7] P2P jednoznačně zatěžuje internet. Spam, aspoň ten e-mailový, ale tvoří jen malou část. Pokud někde píšou, že spam bere 75 % přenosu, tak bych to odhadoval spíš na 75 % přenosu na HTTP a SMPT/POP3/IMAP. Ostatně hodně lidí si myslí, že internet jsou ty stránky. Samotný WWW bere cca 5-10% celýho trafficu :).
No tak ještě k tématu - Já osobně bych teda za UTF-8 přímo v OS byl docela rád. Jenže u Microsoftu se s tim nedá moc počítat. Mám dojem, že do Longhornu něco s UTF-8 slibovali, ale jestli ono se to netýká jen filesystému?
[7] Spam tvorí 75% mail trafficu.
[9] NTFS 4.0 (Win 2000 a vyššie) už štandardne používa Unicode pre názvy súborov.
Ja som UTF-8 začal všade používať asi pred 1 rokom a zatiaľ nikde nebol neriešiteľný vážnejší problém.
[9] [10] Ano, mate oba pravdu to sluvko 'mail traffic' mi "vypadlo" - u vas demagog holt nepochodi :-).
[10] nezaměňujte "normální" šestnáctibitový unicode s utf (s proměnnou délkou znaků 1-6 bytů). ntfs jede na obyč. unicodu.
Jak to čtu, tak je celkem s údivem, že k fc3 namountuju fat32 disk (aby kompatibilně fungoval s winxp)jen s iocharset=utf8. Buď mám štěstí na shodu náhod nebo winxp fakt používají na filesystem utf8. Jinak obsah souborů je samozřejmě ve win1250 :-(