我对字符串中的javascript转义字符有情感,需要将其作为json传递给Android。在安卓方面,文本必须是utf8才能正确显示情感字符。例如,我在一个字符串中有''ud83d''ude00,它是GRINNING FACE的代码。但是我需要使用 Php 将其转换为 f0 9f 98 80。
我尝试了mb_convert_encoding和iconv,但它们输出了一些奇怪的字符。请帮忙。谢谢
似乎是:
如何将 Unicode 转义序列(如"''u00ed")解码为正确的 UTF-8 编码字符?
$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);