如何在PHP中显示表情符号

时间:2016-05-24 10:30:00

标签: php

我已经在twillio中设置了一个twiml应用程序,它将所有短信(来自我的twillio号码)转发/发布到域名。 在那个域上我可以得到消息body.issue是当有人发送短信中的表情符号时。 为此,我做了json_encode($ sms-> body);这给我看了表情符号。 “\ u263a \ ud83d \ ude00 \ ud83d \ ude01 \ ud83d \ ude02 \ ud83d \ ude03”(这些是通过短信发来的一些表情符号)

我也为上面的文字做了json_decode(),但它没有显示正确的表情符号图标。它显示如下(â€ðŸ€〜ðŸ〜ðŸ〜,ðŸ〜ƒ)

我应该使用哪种编码或解码请帮帮我。

2 个答案:

答案 0 :(得分:4)

您只需按照以下步骤操作即可 1.确保你已经设定 标题(" Content-Type:text / html; charset = utf-8"); 2.使用这种方法

function decodeEmoticons($src) {
    $replaced = preg_replace("/\\\\u([0-9A-F]{1,4})/i", "&#x$1;", $src);
    $result = mb_convert_encoding($replaced, "UTF-16", "HTML-ENTITIES");
    $result = mb_convert_encoding($result, 'utf-8', 'utf-16');
    return $result;
}
$src = "\u263a\ud83d\ude00\ud83d\ude01\ud83d\ude02\ud83d\ude03";
echo decodeEmoticons($src);

它会显示表情符号图标

答案 1 :(得分:0)

首先查看您的数据库Collat​​ion并设置utf8_general_ci之后检查您的表Collat​​ion并设置utf8_unicode_ci或utf8_general_ci