Hlavní navigace

PHP konečně s podporou unicode

2. 3. 2007
Doba čtení: 3 minuty

Sdílet

Unicode je ve světě počítačů hudbou moderní doby. Od svého vzniku se značně rozšířilo a dnes jej můžeme najít takřka kdekoliv. Nyní přichází po dlouhém čekání s jeho podporou také programovací jazyk PHP. Chcete vědět jaké mají vývojáři plány do budoucna? Jak už implementace postoupila?

Unicode

Unicode je hudbou dnešní doby. Přišlo, aby potřelo zmatek v myriádě různých kódování. Není tomu ani tak dávno, co se třeba právě pro naši rodnou češtinu používalo až šest kódovacích tabulek. Skoro platilo, že kdo neměl zrovna co na práci, tak si šel taky vymyslet svoje kódování, aby byl „in”. Že v tom byl slušný guláš, to asi netřeba nikterak zdůrazňovat. O psaní cizího textu, dejme tomu, v azbuce a současného překladu pod každým odstavcem jste si mohli nechat tak akorát zdát.

Proto vzniklo unicode. Velkoryse vyčlenilo ne již pouhých osm, ale celých šestnáct, a později dokonce až jednatřicet bitů na reprezentaci znaku. To samozřejmě dává k dispozici mnohem větší množství kombinací, a tedy v důsledku mnohem větší množství podporovaných znaků. Konkrétně je to dostatečná kapacita, která stačí k pokrytí požadavků celého dnešního světa, a to včetně čínštiny, japonštiny a podobných jazyků. Ovšem unicode podporuje nejenom recentní jazyky, ale i některé dnes již nepoužívané, jako jsou třebas runy. A samozřejmě deklaruje též spoustu technických znaků. Chcete-li vidět moc pěknou ukázku možností unicode, doporučuji vaší pozornosti toto zdařilé UTF-8 demo.

A co na to vývojáři PHP?

Dle všeho se na implementaci unicode již pěknou dobu pilně pracuje. „Andrei Zmievski je jeden z vedoucích vývojářů programovacího jazyku PHP. Od března 2005 pracuje spolu s přibližně dvaceti dalšími vývojáři na dodání podpory unicode do PHP verze 6.0. Nyní se jejich snahy blíží vydání jako alfa verze,” uvádí Linux.com.

Za důležitou vývojáři považují podporu CLDR. Jedná se o vyloženě zdařilý nápad umožňující brát v potaz národní specifika jako je kupříkladu preferovaný formát data, měny a také údaje, jak jsou data shromažďována a tříděna. Dejme tomu v němčině jsou znaky s přehláskou umisťovány přímo za adekvátní znak bez přehlásky, kdežto ve švédštině jsou tyto znaky umisťovány až na samý konec abecedy. To právě CLDR umožňuje odlišit a dovézt tím správnou národní lokalizaci již téměř k dokonalosti.

Změny v PHP

Dle Zmievskiho bude podpora unicode v PHP 6.0 zahrnovat široký výběr mezinárodních komponent unicode (ICU), které budou obsahovat podporu pro takové akce, jako je konvertování z jednoho locale či znakové sady do další, zpracování unicode textu či unicode regulární výrazy. Tato funkcionalita bude k dispozici, bude-li Unicode.semantics povolené.

S implementací unicode též souvisí další změny, jako například to, že například funkce set locale () bude tím pádem zastaralá. Očekává i další změny a spojení některých .ini voleb, ale zároveň tvrdí, že vše bude v pořádku, transparentně fungovat.

root_podpora

Aktuální stav vývoje

Zmievski uvádí, že většina základní unicode funkcionality je hotova. PHP unicode tým v současné chvíli analyzuje jednotlivé funkce a hledá, které budou potřebovat aktualizovat. Odhaduje, že 12. února byla 61% funkcí připravena pro spolupráci s unicode. Doufá, že uvolnění alfa verze koncem prvního čtvrtletí letošního roku. Finální verze by pak měla vyjít, dle Zmievskiho slov, koncem letošního roku.

Unicode tým se nyní připravuje na vypracování uživatelské dokumentace k aktualizovaným funkcím: „Potřebujeme začít dělat na dokumentaci,” uvádí Zmievski, „dokumentaci ne chování funkcí, ale vlastností, které se změnily, a potom všeobecný úvod do unicode – co to dělá, co potřebuje a jak s ním pracovat.”

Odkazy

Byl pro vás článek přínosný?

Autor článku

Jakub Šťastný byl v letech 2007 až 2008 redaktorem serveru Root.cz. Mezi jeho zájmy patří Linux, programování a typografický systém TeX.