如何将 Unicode 转义序列(如“\u00ed”)解码为正确的 UTF-8 编码字符?
PHP中是否有一个函数可以解码Unicode转义序列,如“”到“”和所有其他类似的事件?\u00ed
í
我在这里发现了类似的问题,但似乎不起作用。
PHP中是否有一个函数可以解码Unicode转义序列,如“”到“”和所有其他类似的事件?\u00ed
í
我在这里发现了类似的问题,但似乎不起作用。
试试这个:
$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);
print_r(json_decode('{"t":"\u00ed"}')); // -> stdClass Object ( [t] => í )