PHP 将转义字符转换为 utf-8


Php Convert escaped characters to utf-8

我对字符串中的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);