如何将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;
}
答案 0 :(得分:3)
您的转化看起来不正确。你为什么不使用iconv或mbstring?
$utf8 = iconv('windows-1251', 'utf-8', $ansi);
答案 1 :(得分:1)
Php.net有几个helpful examples。