在PHP中“\ u00e1n”到“á”

时间:2014-08-04 11:30:15

标签: php char

我收到一个带有字符串的外部文件,我无法控制该文件,但是我收到了特殊字符(我认为它是unicode?)序列\ u00e1n。

是否有将这种char序列转换为“可读”对应物?

谢谢!

修改

我正在拨打一个网址,其中列出了一个包含人名的列表:

汤姆\ u00e1nsson \ n 埃里克森\ n Gilverto \ n

我正在阅读这些名字并在我的网站上显示它们。

1 个答案:

答案 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

ORIGINAL

我在这里发现了一篇关于同一问题的文章(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");

输出:

á