Как поменять кодировку с UTF-8 на windows-1251 php и обратно | Все о сайтах
73518726



Как поменять кодировку с UTF-8 на windows-1251 php и обратно

Многие сталкиваются с проблемой кодировки и перевода ее с нужной на нужную. Например недавно передомной была задача поменять кодировку с UTF-8 на windows-1251 на php.

Обычно такая задача решается просто, с помощбю функции iconv:

Для того чтобы изменить кодировку с UTF-8 на Windows-1251 нужно написать следующий код:

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

$text = iconv("UTF-8", "Windows-1251", $text)

где текст это Ваш текст в кодировке UTF-8.

Но тут не задача, не у всех установлен модуль iconv.

Для таких случаев один умелец (не знаю кто) написал функцию для перевода кодировки с UTF8 на windows-1251

function utf8win1251($s){
$out = $c1 = "";
$byte2=false;
for ($c=0;$c $i=ord($s[$c]);
if ($i<=127) $out.=$s[$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;
}

//пример
echo utf8win1251('текст в utf-8');

Надеюсь Вам была полезна статья.

Следите за блогом и удачи!

Комментарии закрыты.

онлайн рулетка видеочат