Forum Webscript.Ru

Программирование => PHP => Тема начата: Croaker от 26 Июня 2002, 17:09:40

Название: Unicode -> Win1251
Отправлено: Croaker от 26 Июня 2002, 17:09:40
Как сконвертировать строку из Юникода в стандартную windows-1251
Название: Unicode -> Win1251
Отправлено: kosm от 02 Марта 2004, 18:46:41
Ребят, а все-таки, чего-то не пойму - никак чтоли из unicode в 1251 не перекинуть? Подскажите плиз, если кто знает как.
Заранее благодарен!!!!!!!!!1
Название: Unicode -> Win1251
Отправлено: Макс от 02 Марта 2004, 18:54:21
http://phpclub.ru/talk/showthread.php?s=&threadid=23121&
Название: Unicode -> Win1251
Отправлено: kosm от 02 Марта 2004, 19:18:36
Макс
Биг сенкс! Сейчас попробую что там предлогают.

Кстати, тоже вот нашел - работает, но почти :) не понимает. Если кто знает как подправить код, буду благодарен. С автором пока не связаться.


function deunicode($s){
    $out="";
    $de=false;
    $beg=true;
    $oc=0;
    for($i=0; $i      $c=substr($s,$i,1);
      if($beg){
        $beg=false;
      }else{
        if($de){
          $de=false;
        }else if(ord($c)==4){
          $d=ord($oc);
          if($d==81){
            $c=chr(184);
          }else if($d>=48){
            $c=chr($d+176);
          }else if($d>=16){
            $c=chr($d+176);
          }else if($d==1){
            $c=chr(168);
          }
          $out.=$c;

          $de=true;
        }else if(ord($c)==0){
          $out.=$oc;

          $de=true;
        }else{
          $out.=$oc;
        }
      }
      $oc=$c;
    }
    if((!$de)){
      $out.=$oc;
    }
    return $out;
  }