2016-05-24 34 views
2

我已經在twillio中設置了一個twiml應用程序,它將所有短信(來自我的twillio號碼)轉發/發佈到域中。 在該域名上,我可以獲得消息body.issue,當有人在短信中發送emojis時。 爲此我做了json_encode($ sms-> body);這顯示我這樣的emojis。 「\ u263a \ ud83d \ ude00 \ ud83d \ ude01 \ ud83d \ ude02 \ ud83d \ ude03」(這些都是通過短信來了一些表情符號)如何在PHP中顯示錶情符號

我沒有json_decode(),以及爲上面的文字,但它並不表明我正確的emojis圖標。它顯示像這樣(ðºðŸ~€ðŸ~ðŸ~,ðŸ~ƒ)

我應該使用哪種編碼或解碼,請幫助我。

+1

的可能的複製[如何繪文字從Unicode在PHP轉換?](http://stackoverflow.com/questions/33547233/如何轉換表情符號從php的)unicode-in) –

+0

@MateiMihai先生我嘗試以上,以及但沒有幫助。如果我們寫 echo json_decode(''\ uD83D \ uDE00'');在PHP文件中,它不會顯示笑臉 我嘗試在鉻/ Firefox但注意到發生。 –

+0

我認爲取決於使用的字體..字體應該支持那些表情符號 –

回答

3

你只需要按照以下步驟 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); 

它會顯示你的表情符號,圖標

0

見先在你的數據庫整理所有的檢查,之後設置utf8_general_ci檢查表歸類,並設置utf8_unicode_ci OR utf8_general_ci