我收到一个带有字符串的外部文件,我无法控制该文件,但是我收到了特殊字符(我认为它是unicode?)序列\ u00e1n。
是否有将这种char序列转换为“可读”对应物?
谢谢!
修改
我正在拨打一个网址,其中列出了一个包含人名的列表:
汤姆\ u00e1nsson \ n 埃里克森\ n Gilverto \ n
我正在阅读这些名字并在我的网站上显示它们。
答案 0 :(得分:0)
现在,根据我发现的文章,我已经找到了正确的,有效的答案。这是它:
function unicode2utf8($str) {
$a=json_decode(str_replace("\n","<br>",'["'.$str.'"]'));
return str_replace("<br>","\n",$a[0]);
}
PHP:
echo unicode2utf8("Tom\u00e1nsson\n Eriksen\n Gilverto\n");
输出:
Tománsson
Eriksen
Gilverto
我在这里发现了一篇关于同一问题的文章(http://www.welefen.com/php-unicode-to-utf8.html)
解决方案是以下功能
function unicode2utf8($str){
if(!$str) return $str;
$decode = json_decode($str);
if($decode) return $decode;
$str = '["' . $str . '"]';
$decode = json_decode($str);
if(count($decode) == 1){
return $decode[0];
}
return $str;
}
我已经尝试了
echo unicode2utf8("\u00e1");
输出:
á