PHP将unicode字形编号转换为UTF-8字形

时间:2013-03-16 14:58:52

标签: php string utf-8

在PHP中,如何转换字符串值字符串,如下所示:

0x00E3 
0x00E9 
0x00EA 
0x00EB 
0x00E8 
0x00ED 
0x00EE 
0x00EF 
0x00EC 
0x00F1 
0x00F3 

进入正确的UTF-8字形?

1 个答案:

答案 0 :(得分:0)

我自己想出来了,改编自here

function val2utf8($val)
{
    $val=hexdec($val);
    if($val<=0x7F) return chr($val);
    if($val<=0x7FF) return chr(($val>>6)+192).chr(($val&63)+128);
    if($val<=0xFFFF) return chr(($val>>12)+224).chr((($val>>6)&63)+128).chr(($val&63)+128);
    if($val<=0x1FFFFF) return chr(($val>>18)+240).chr((($val>>12)&63)+128).chr((($val>>6)&63)+128).chr(($val&63)+128);
    return '';
}