lut 02

Konwersja znaków

Tag: phpTI @ 02-02-2008 23:37
Bookmark and Share

Przydatna funkcja do konwersji systemów kodowania znaków.


[sourcecode lang="php"]< ?php
define("UTF8_TO_ISO88592", 1);
define("ISO88592_TO_UTF8", 2);
define("WIN1250_TO_UTF8", 3);
define("UTF8_TO_WIN1250", 4);
define("ISO88592_TO_WIN1250", 5);
define("WIN1250_TO_ISO88592", 6);

function plCharset($string, $type = ISO88592_TO_UTF8) {

$win2utf = array(
"\xb9" => „\xc4\x85″, „\xa5″ => „\xc4\x84″,
„\xe6″ => „\xc4\x87″, „\xc6″ => „\xc4\x86″,
„\xea” => „\xc4\x99″, „\xca” => „\xc4\x98″,
„\xb3″ => „\xc5\x82″, „\xa3″ => „\xc5\x81″,
„\xf3″ => „\xc3\xb3″, „\xd3″ => „\xc3\x93″,
„\x9c” => „\xc5\x9b”, „\x8c” => „\xc5\x9a”,
„\xbf” => „\xc5\xbc”, „\x8f” => „\xc5\xbb”,
„\x9f” => „\xc5\xba”, „\xaf” => „\xc5\xb9″,
„\xf1″ => „\xc5\x84″, „\xd1″ => „\xc5\x83″
);
$iso2utf = array(
„\xb1″ => „\xc4\x85″, „\xa1″ => „\xc4\x84″,
„\xe6″ => „\xc4\x87″, „\xc6″ => „\xc4\x86″,
„\xea” => „\xc4\x99″, „\xca” => „\xc4\x98″,
„\xb3″ => „\xc5\x82″, „\xa3″ => „\xc5\x81″,
„\xf3″ => „\xc3\xb3″, „\xd3″ => „\xc3\x93″,
„\xb6″ => „\xc5\x9b”, „\xa6″ => „\xc5\x9a”,
„\xbc” => „\xc5\xba”, „\xac” => „\xc5\xb9″,
„\xbf” => „\xc5\xbc”, „\xaf” => „\xc5\xbb”,
„\xf1″ => „\xc5\x84″, „\xd1″ => „\xc5\x83″
);

if ($type == ISO88592_TO_UTF8)
return strtr($string, $iso2utf);
if ($type == UTF8_TO_ISO88592)
return strtr($string, array_flip($iso2utf));
if ($type == WIN1250_TO_UTF8)
return strtr($string, $win2utf);
if ($type == UTF8_TO_WIN1250)
return strtr($string, array_flip($win2utf));
if ($type == ISO88592_TO_WIN1250)
return strtr($string, „\xa1\xa6\xac\xb1\xb6\xbc”,
„\xa5\x8c\x8f\xb9\x9c\x9f”);
if ($type == WIN1250_TO_ISO88592)
return strtr($string, „\xa5\x8c\x8f\xb9\x9c\x9f”,
„\xa1\xa6\xac\xb1\xb6\xbc”);
}
?>[/sourcecode]

Zostaw komentarz