如何将Windows-1251转码为UTF-8?

时间:2010-05-07 22:47:16

标签: php windows utf-8 cp1251

如何将Windows-1251转码为UTF-8?

这样的功能会这样做吗?

function win_to_utf($s) 
{ 
for($i=0, $m=strlen($s); $i<$m; $i++) 
{ 
$c=ord($s[$i]); 
if ($c<=127) 
{$t.=chr($c); continue; } 
if ($c>=192 && $c<=207) 
{$t.=chr(208).chr($c-48); continue; } 
if ($c>=208 && $c<=239) 
{$t.=chr(208).chr($c-48); continue; } 
if ($c>=240 && $c<=255) 
{$t.=chr(209).chr($c-112); continue; } 
if ($c==184) { $t.=chr(209).chr(209); 
continue; }; 
if ($c==168) { $t.=chr(208).chr(129); 
continue; }; 
} 
return $t; 
} 

2 个答案:

答案 0 :(得分:3)

您的转化看起来不正确。你为什么不使用iconv或mbstring?

$utf8 = iconv('windows-1251', 'utf-8', $ansi);

答案 1 :(得分:1)

Php.net有几个helpful examples