Sites of the week

ads ads ads ads

PHP: Перекодирование UTF-8 в Windows-1251

Posted by admin | PHP, Кодировки | Вторник 4 Декабрь 2007 19:00

Обычно для перекодирования строк из одной кодировки в другую используют функцию iconv.

[cc lang="php"]

$out=iconv("UTF-8", "WINDOWS-1251", $in);

Однако бывает так, что на некоторых хостингах (обычно бесплатных) данная функция отсутствует.

В таком случае можно использовать функцию работающую на массивах:

[cc lang="php"]

function utf_to_win($str)
{
$str=strtr($str,array("Р°"=>"а","Р±"=>"б","РІ"=>"в","Рі"=>"г","Рґ"=>"д","Рµ"=>"е","С‘"=>"ё",
"Р¶"=>"ж","Р·"=>"з",
"Рё"=>"и","Р№"=>"й","Рє"=>"к","Р»"=>"л","Рј"=>"м","РЅ"=>"н","Рѕ"=>"о","Рї"=>"п",
"СЂ"=>"р","СЃ"=>"с","С‚"=>"т","Сѓ"=>"у","С„"=>"ф","С…"=>"х","С†"=>"ц",
"С‡"=>"ч","С€"=>"ш","С‰"=>"щ","СЉ"=>"ъ","С‹"=>"ы","СЊ"=>"ь",
"СЌ"=>"э","СЋ"=>"ю","СЏ"=>"я",
"Рђ"=>"А","Р‘"=>"Б","Р’"=>"В","Р“"=>"Г","Р”"=>"Д",
"Р•"=>"Е","РЃ"=>"Ё","Р–"=>"Ж","Р—"=>"З","Р˜"=>"И","Р™"=>"Й","Рљ"=>"К","Р›"=>"Л",
"Рњ"=>"М","Рќ"=>"Н","Рћ"=>"О","Рџ"=>"П","Р "=>"Р",
"РЎ"=>"С","Рў"=>"Т","РЈ"=>"У","Р¤"=>"Ф","РҐ"=>"Х",
"Р¦"=>"Ц","Р§"=>"Ч","РЁ"=>"Ш","Р©"=>"Щ","РЄ"=>"Ъ","Р«"=>"Ы",
"Р¬"=>"Ь","Р­"=>"Э","Р®"=>"Ю","РЇ"=>"Я"));
return $str;
}

Страница 1 из 11