Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Кодировка


Автор: abalich 14.4.2008, 11:20
Есть RSS с кодировкой UTF-8 
Я беру эту RSS разбиваю на массивы и запихиваю в MYSQL
Там есть ссылка на полную новость.
Нол полная новость - windows-1251

Как мне перекодировать из UTF - 8 в WINDOWS-1251

Ведь у меня на одной страничке сайта не может быть 2 разных кодировки.

Автор: Fortop 14.4.2008, 12:42
http://ua2.php.net/manual/ru/book.iconv.php

Автор: bars80080 14.4.2008, 12:42
http://php.ru/manual/function.iconv.html на обработке

Автор: UADeveloper 15.4.2008, 10:06
Это если нет iconv.
Код
function Utf8ToWin($fcontents) { # Перевод utf8 -> cp1251
    if(detect_cyr_charset($fcontents) == "i"){

     $out = $c1 = '';
     $byte2 = false;
     for ($c = 0;$c < strlen($fcontents);$c++) {
         $i = ord($fcontents[$c]);
         if ($i <= 127) {
             $out .= $fcontents[$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;
    } Else {
        return $fcontents;
    }

}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)