AutoCzech.php

AutoCzech.php je malá, krásná a rychlá PHP knihovna na překódování češtiny mezi kódovými stránkami ISO-8859-2, Windows-1250 a UTF-8. Je vytvořena tak, že není nutné předem znát nebo zjišťovat kódování převáděného textu. Můžete jí předhodit text v ISO, Win nebo UTF a ona vám ho převede, do čeho si řeknete - tedy na výběr máte opět ISO, Win, UTF-8 nebo ASCII (bez hacku a carek). Vstupní text může dokonce obsahovat znaky ze všech tří zmíněných znakových sad najednou (nic není nemožné). I když se převodní funkce musí zabývat všemi kódováními zároveň, je velmi rychlá, protože celý převod proběhne na jedno volání funkce str_replace().

Download

Použití

AutoCzech obsahuje pouze jednu stejnojmennou funkci na převod kódování - AutoCzech().

AutoCzech(string $str, string $code)

Tato funkce převede string $str na kódování $code. Původní kódování textu není parametrem této funkce. $code může nabývat hodnot "win", "iso", "utf" a "asc" (oříznutí diakritiky).

Příklad:

include './autoczech.php';

// Text obsahujici kodovani Win, ISO i UTF.
$text =
'[puvodne WIN]: Příliš žluťoučký kůň úpěl ďábelské ódy.<br>
[puvodne ISO]: Přílią ľluťoučký kůň úpěl ďábelské ódy.<br>
[puvodne UTF]: Pøíliť žluouèký kùò úpÏl ïåbelskÊ ódy.<br>';

// Vse prevest na ISO-8859-2
echo AutoCzech($text, 'iso');

// Vse prevest na Windows-1250
echo AutoCzech($text, 'win');

// Vse prevest na UTF-8
echo AutoCzech($text, 'utf');

// Vse prevest na ASCII
echo AutoCzech($text, 'asc');

Proč vznikla tato knihovna

Původně jsem potřeboval vyřešit překódování češtiny pro projekt lastRSS.php. Protože se však ukázalo, že se to může hodit i jinde, rozhodl jsem se to udělat jako obecné řešení.

Informační zdroje

Přehled kódových stránek

ISO 8859-2
Mezinárodní norma ISO používaná zejména na Linuxu, unixech a na Internetu.
Windows 1250
Radši nebudu psát co to je, protože by tato stránka mohla být označena za nevhodnou pro děti. Od normy ISO se to liší v pozici tří českých znaků, jednoho slovenského a pár dalších východoevropských. Používá se ve Windows.
UTF-8
UTF-8 je 8 bitový přepis 16 bitové globální mezinárodní abecedy Unicode, která (snad) v dohledné době zcela nahradí všechny kódové stránky na světě včetně rozsypaných čajů. UTF-8 je v současné době používáno zejména v XML dokumentech.
ASCII
Jednoduše text bez háčků a čárek. Je podporován na výstupu - z libovolného českého textu můžete tedy získat totéž bez háčků a čárek.
ISO 8859-1 a Windows-1251
Jedná se o západoevropská kódování, která obsahují čárky na stejných pozicích, jako jejich varianty končící dvojkou, ale neobsahují háčky. Text v těchto kódováních lze tedy bez problémů načíst a pomocí AutoCzech převést na libovolné zmíněné kódování. Převod do ISO 8859-1 a Windows-1251 však podporován není.

Author

Máte otázky, komentáře nebo nápady?

Vojtěch Semecký, webmaster@webdot.cz

Licence

Tento program je svobodný software. Je distribuován pod licencí GNU GPL 2.0 nebo vyšší (dle vaší volby) tak, jak ji publikovala nadace Free Software Foundation. Smíte jej svobodně používat, modifikovat a/nebo redistribuovat, pokud dodržíte podmínky v licenci uvedené. Pro detaily se podívejte na: GNU General Public Licence nebo na český překlad Obecná veřejná licence GNU.

Changelog

Verse 1.0 - (29. června 2003)
- První uvedení
- funkce AutoCzech()
- podpora ISO 8859-2, Windows 1250, UTF-8 a ASCII

Futurelog (co bude dál)

Nezabýval jsem se podporou starých kódování typu CP 852, Kameničtí. Tato knihovna je určena především pro použití na webu. WWW prohlížeče tato kódování nepodporují, tak proč se tím zabývat. Pokud někdo potřebujete nutně podporu dnes již nepoužívaných kódových stránek, napište mi. Docela by mě zajímal účel. A mohu vám poradit, jak do této knihovny tyto kódové stránky začlenit.

Různé

URL pro linkování
http://www.webdot.cz/autoczech/

Button 88x31
autoCzech button 88x31

Tento dokument je validní XHTML 1.0 Strict a CSS 2.