2016-05-24 7 views
2

Ich habe eine Twiml-App in Twillio eingerichtet, die alle SMS (die zu meiner Twillio-Nummer kamen) an eine Domain weiterleitet. Auf dieser Domain kann ich Nachricht body.issue bekommen, wenn jemand Emojis in SMS sendet. dafür habe ich json_encode ($ sms-> body); welche zeigen mir emojis so. "\ u263a \ ud83d \ ude00 \ ud83d \ ude01 \ ud83d \ ude02 \ ud83d \ ude03" (diese einige Emojis sind, die durch SMS kam)Wie man Emojis in PHP zeigt

ich habe json_decode() als auch für die oben stehenden Text, aber es zeigt mir nicht korrekte Emojis-Symbole. es zeigt so (0)

Welche encodierung oder decodierung ich verwenden sollte bitte helfen Sie mir.

+1

Mögliche Duplikat von [Wie Emoji von Unicode in PHP konvertieren?] (Http://stackoverflow.com/questions/33547233/ how-to-convert-Emoji-von-Unicode-in-php) –

+0

@MateiMihai Sir ich versuche das oben genannte auch, aber nicht hilfreich. wenn wir schreiben echo json_decode ('"\ uD83D \ uDE00"'); in PHP-Datei wird es nicht zeigen, Smiley ich versuche es in Chrome/Firefox, aber merkt, passiert. –

+0

Ich denke, hängt von der verwendeten Schriftart .. die Schriftart sollte diese Emoji unterstützen –

Antwort

3

Sie müssen nur die folgenden Schritte aus 1. stellen Sie sicher, Header gesetzt haben (“ Inhaltstyp: text/html; charset = utf-8 "); 2. Verwendung dieses Verfahren

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); 

wird es zeigt Ihnen die Emojis Symbole

0

Siehe zunächst einmal prüfen in Ihrer Datenbank Sortierungs und setzen utf8_general_ci danach überprüfen Sie Ihre Tabelle Sortierungs und setzen utf8_unicode_ci ODER utf8_general_ci