PHP UTF-8 latin2 konvertálás

Egy PHP függvény a gyakori problémára: szöveg kódolás módosítására. Sajnos még sok akadálya van az UTF-8 kódolás elterjedésének hazánkban, pedig az AJAX korában ez már elég időszerű lenne. Amég el nem jön az aranykor itt egy kis PHP függvény, ami némileg megkönnyítheti a karakterkódolással vesződők életét.

A PHP nem rendelkezik megfelelő karakterkonvertáló eszközökkel. Az utf8_decode pedig csak a latin1-et támogatja. Ezzel búcsút is mondhatunk a hosszú ő és ű karaktereinknek. Van ugyan iconv támogatás, de az külső modulban, sok helyen nem áll rendelkezésre. Pedig ékezetes országban élünk: alapkövetelmény lenne ilyen eszköz biztosítása egy hazai hosting szolgáltatónál.

Saját függvény: konvertálás "kézzel"

A függvény UTF8-as stringet vár és a Windows által is használt közép-európai kódolásra, azaz ISO8859-2-re alakítja. Nem teljes konverzióról van szó! A függvény csak a magyar ékezetes karakterek átalakítására használható.

function utf8_to_latin2_hun ($str) { return str_replace ( array ("\xc3\xb6", "\xc3\xbc", "\xc3\xb3", "\xc5\x91", "\xc3\xba", "\xc3\xa9", "\xc3\xa1", "\xc5\xb1", "\xc3\xad", "\xc3\x96", "\xc3\x9c", "\xc3\x93", "\xc5\x90", "\xc3\x9a", "\xc3\x89", "\xc3\x81", "\xc5\xb0", "\xc3\x8d"), array ("\xf6", "\xfc", "\xf3", "\xf5", "\xfa", "\xe9", "\xe1", "\xfb", "\xed", "\xd6", "\xdc", "\xd3", "\xd5", "\xda", "\xc9", "\xc1", "\xdb", "\xcd"), $str); }