
08.03.2009, 10:15
|
|
Познающий
Регистрация: 22.03.2007
Сообщений: 45
С нами:
10073196
Репутация:
9
|
|
PHP код:
//
//Функция перевода UTF-8 в Windows-1251
//
function utf8win1251($s){
$out = $c1 = "";
$byte2=false;
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;
}
//
//Использование: echo utf8win1251($text);
//
|
|
|