为了账号安全,请及时绑定邮箱和手机立即绑定

如何将Unicode转义序列(如“\u00ed”)解码为正确的UTF-8编码字符?

如何将Unicode转义序列(如“\u00ed”)解码为正确的UTF-8编码字符?

PHP
蛊毒传说 2019-06-15 10:29:02
如何将Unicode转义序列(如“\u00ed”)解码为正确的UTF-8编码字符?在PHP中是否有一个函数可以解码Unicode转义序列,如“\u00ed“到”í“还有其他类似的事情?我发现了类似的问题这里但似乎不起作用。
查看完整描述

3 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

试试这个:

$str = preg_replace_callback('/\\\\u([0-9a-fA-F]{4})/', function ($match) {
    return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');}, $str);

如果是基于UTF-16的C/C+/Java/Json风格的话:

$str = preg_replace_callback('/\\\\u([0-9a-fA-F]{4})/', function ($match) {
    return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UTF-16BE');}, $str);


查看完整回答
反对 回复 2019-06-15
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

print_r(json_decode('{"t":"\u00ed"}')); // -> stdClass Object ( [t] => í )


查看完整回答
反对 回复 2019-06-15
?
桃花长相依

TA贡献1860条经验 获得超8个赞

PHP 7+

从PHP 7开始,您可以使用Unicode码点转义语法做这件事。

echo "\u{00ed}";产出í.


查看完整回答
反对 回复 2019-06-15
  • 3 回答
  • 0 关注
  • 1247 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号