如何在PHP中将emoji unicode字节字符串转换为适当的UTF-8

如何在PHP中将emoji unicode字节字符串转换为适当的UTF-8,php,string,unicode,utf-8,emoji,Php,String,Unicode,Utf 8,Emoji,我有一个字符串,它是格式为“\ud83d\ude01”的unicode表示形式。如何将其转换为实际的UTF-8表示:“\\ud83d\\ude01看起来是UTF-16的转义形式 取消扫描和解码的代码非常简单: $myInput = '\\ud83d\\ude01'; $myHexString = str_replace('\\u', '', $myInput); $myBinString = hex2bin($myHexString); print iconv("UTF-16BE", "UT

我有一个字符串,它是格式为“\ud83d\ude01”的unicode表示形式。如何将其转换为实际的UTF-8表示:“
\\ud83d\\ude01
看起来是UTF-16的转义形式

取消扫描和解码的代码非常简单:

$myInput = '\\ud83d\\ude01';

$myHexString = str_replace('\\u', '', $myInput);
$myBinString = hex2bin($myHexString);

print iconv("UTF-16BE", "UTF-8", $myBinString);
使用以下方法解决此问题:

print json_encode('"$emoji"');

我发现这是最简单的方法。

只是出于好奇:字符串从哪里来?(换句话说,是什么原因导致您接收到
'\\ud83d\\ude01'
,而不仅仅是对我不起作用的
。我得到
“\”\\ud83d\\ude01\
您能提供更多的代码吗?