Показать сообщение отдельно

  #667  
Старый 08.03.2009, 10:15
real_kas
Познающий
Регистрация: 22.03.2007
Сообщений: 45
С нами: 10073196

Репутация: 9
Arrow

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);
// 
 
Ответить с цитированием