Что же делать, когда на хостинге не работает функция iconv() и php выдает Call to undefined function: iconv(), а нужно конвертнуть из UTF-8 в windows-1251
На помощь прийдет следующая функция:
function utf8_to_win($string){
for ($c=0;$c
if ($i <= 127) @$out .= $string[$c];
if (@$byte2){
$new_c2=($c1&3)*64+($i&63);
$new_c1=($c1>>2)&5;
$new_i=$new_c1*256+$new_c2;
if ($new_i==1025){
$out_i=168;
} else {
if ($new_i==1105){
$out_i=184;
} else {
$out_i=$new_i-848;
}
}
@$out .= chr($out_i);
$byte2 = false;
}
if (($i>>5)==6) {
$c1 = $i;
$byte2 = true;
}
}
return $out;
}
?>
Комментарии
Большущее благодарю!
джумла 1.5.18
function utf8_to_win1251($text)
{
$text=str_replace("\xD0\xB0","а",$text); $text=str_replace("\xD0\x90","А",$text);
$text=str_replace("\xD0\xB1","б",$text); $text=str_replace("\xD0\x91","Б",$text);
$text=str_replace("\xD0\xB2","в",$text); $text=str_replace("\xD0\x92","В",$text);
$text=str_replace("\xD0\xB3","г",$text); $text=str_replace("\xD0\x93","Г",$text);
$text=str_replace("\xD0\xB4","д",$text); $text=str_replace("\xD0\x94","Д",$text);
$text=str_replace("\xD0\xB5","е",$text); $text=str_replace("\xD0\x95","Е",$text);
$text=str_replace("\xD1\x91","ё",$text); $text=str_replace("\xD0\x81","Ё",$text);
$text=str_replace("\xD0\xB6","ж",$text); $text=str_replace("\xD0\x96","Ж",$text);
$text=str_replace("\xD0\xB7","з",$text); $text=str_replace("\xD0\x97","З",$text);
$text=str_replace("\xD0\xB8","и",$text); $text=str_replace("\xD0\x98","И",$text);
$text=str_replace("\xD0\xB9","й",$text); $text=str_replace("\xD0\x99","Й",$text);
$text=str_replace("\xD0\xBA","к",$text); $text=str_replace("\xD0\x9A","К",$text);
$text=str_replace("\xD0\xBB","л",$text); $text=str_replace("\xD0\x9B","Л",$text);
$text=str_replace("\xD0\xBC","м",$text); $text=str_replace("\xD0\x9C","М",$text);
$text=str_replace("\xD0\xBD","н",$text); $text=str_replace("\xD0\x9D","Н",$text);
$text=str_replace("\xD0\xBE","о",$text); $text=str_replace("\xD0\x9E","О",$text);
$text=str_replace("\xD0\xBF","п",$text); $text=str_replace("\xD0\x9F","П",$text);
$text=str_replace("\xD1\x80","р",$text); $text=str_replace("\xD0\xA0","Р",$text);
$text=str_replace("\xD1\x81","с",$text); $text=str_replace("\xD0\xA1","С",$text);
$text=str_replace("\xD1\x82","т",$text); $text=str_replace("\xD0\xA2","Т",$text);
$text=str_replace("\xD1\x83","у",$text); $text=str_replace("\xD0\xA3","У",$text);
$text=str_replace("\xD1\x84","ф",$text); $text=str_replace("\xD0\xA4","Ф",$text);
$text=str_replace("\xD1\x85","х",$text); $text=str_replace("\xD0\xA5","Х",$text);
$text=str_replace("\xD1\x86","ц",$text); $text=str_replace("\xD0\xA6","Ц",$text);
$text=str_replace("\xD1\x87","ч",$text); $text=str_replace("\xD0\xA7","Ч",$text);
$text=str_replace("\xD1\x88","ш",$text); $text=str_replace("\xD0\xA8","Ш",$text);
$text=str_replace("\xD1\x89","щ",$text); $text=str_replace("\xD0\xA9","Щ",$text);
$text=str_replace("\xD1\x8A","ъ",$text); $text=str_replace("\xD0\xAA","Ъ",$text);
$text=str_replace("\xD1\x8B","ы",$text); $text=str_replace("\xD0\xAB","Ы",$text);
$text=str_replace("\xD1\x8C","ь",$text); $text=str_replace("\xD0\xAC","Ь",$text);
$text=str_replace("\xD1\x8D","э",$text); $text=str_replace("\xD0\xAD","Э",$text);
$text=str_replace("\xD1\x8E","ю",$text); $text=str_replace("\xD0\xAE","Ю",$text);
$text=str_replace("\xD1\x8F","я",$text); $text=str_replace("\xD0\xAF","Я",$text);
$text=str_replace("\xe2\x84\x96","№",$text);
return $text;
}