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.