Heim  >  Artikel  >  php教程  >  Lösung für verstümmeltes Emoji-Push

Lösung für verstümmeltes Emoji-Push

巴扎黑
巴扎黑Original
2016-11-07 11:36:102399Durchsuche

Wenn der Push-Inhalt Emoji-Ausdrücke enthält, müssen die folgenden Änderungen vorgenommen werden
1 MySQL muss Version 5.5.3 oder höher verwenden (wenn es nicht aktualisiert werden kann, speichern Sie es bitte in Base64 und transkodieren Sie es dann beim Pushen )
2 Kombinieren Sie die Tabelle und ändern Sie die Felder der Push-Inhaltstabelle in das Codierungsformat utf8mb4_unicode_ci (keine Notwendigkeit, das System my.cnf zu ändern oder MySQL neu zu starten)

Wenn apnsphp für Push verwendet wird, kann es immer noch sein Ist es ein Problem, dass der Emoji-Ausdruck zu „?“ wird:
Bitte suchen Sie die getPayload-Methode von Message.php und fügen Sie „false &&“ zum Konvertierungs-Transkodierungsurteil hinzu, um die Ausführung zu deaktivieren. Weil dieser Code einige Emoji-Ausdrücke abschneidet.

Java-Code

if (false && !definiert('JSON_UNESCAPED_UNICODE') && function_exists('mb_convert_encoding')) {

$sJSON = preg_replace_callback (

'~ \\ u ([0-9a-f] {4}) ~',

Create_function ('$ amtches',' Return MB_CONVERT_ENCODING ", $aMatches[1] ), "UTF-8", "UTF-16");'),

$sJSON);

}

An diesem Punkt liegt das Problem ist gelöst.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn