Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: CL | DM;

Вниз

utf8 to cp1251   Найти похожие ветки 

 
pasha_golub ©   (2007-07-16 20:22) [0]

Как сделать сабж в PHP?

Поможите, чем можете. Честно рыл все что попадалось под руку. Сил нету больше.

Сабжевая строка берется из сервера PostgreSQL в кодировке UTF8, а потом засовывается в PDF документ, через FPDF класс, с использованием кодировки cp1251. Шрифт добавлен. Если просто написать русскими буквами, то получается.


 
Zeqfreed ©   (2007-07-16 20:26) [1]

http://ru2.php.net/manual/ru/function.iconv.php ?


 
pasha_golub ©   (2007-07-16 20:31) [2]


> Zeqfreed ©   (16.07.07 20:26) [1]

Спасибо. Пробовал. Не установлен сей зверь на машине почему-то...

Вот так всегда, постанешь вопрос и тут же находится ответ.

Вот, извольте, если кому припечет:

function cp1251_to_utf8($s){
    $c209 = chr(209); $c208 = chr(208); $c129 = chr(129);
    for($i=0; $i<strlen($s); $i++)    {
        $c=ord($s[$i]);
        if ($c>=192 and $c<=239) $t.=$c208.chr($c-48);
        elseif ($c>239) $t.=$c209.chr($c-112);
        elseif ($c==184) $t.=$c209.$c209;
        elseif ($c==168)    $t.=$c208.$c129;
        else $t.=$s[$i];
    }
    return $t;
}
 
function utf8_to_cp1251($s)
{
    for ($c=0;$c<strlen($s);$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;
}


 
pasha_golub ©   (2007-07-16 20:36) [3]

Все-таки в наши дни, программисту без Интернета работать безсмысленно. :)


 
Vendict ©   (2007-07-16 20:55) [4]

pasha_golub ©   (16.07.07 20:36) [3]
а вот тут палка о двух концах, кто для кого, программист для интернета существует или наоборот, интернет для программиста ?



Страницы: 1 вся ветка

Текущий архив: 2007.08.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
2-1184443004
opoloXAI
2007-07-14 23:56
2007.08.12
Рабочая папка приложения.


6-1167841685
Volfram
2007-01-03 19:28
2007.08.12
idCmdServer; Connection Closed gracefully


2-1184090570
Евгений Р.
2007-07-10 22:02
2007.08.12
Перемещение по DrawGrid


2-1184326542
Romikremind
2007-07-13 15:35
2007.08.12
Проблемы с русским языком


2-1184586933
Димыч
2007-07-16 15:55
2007.08.12
Юникод