Wie kann ich die korrekte Codierung von 4-Byte-Emoji-Zeichen wiederherstellen, die in einfachem utf8 gespeichert wurden - wie folgt: ðŸ~Š?

8

Ist es möglich, Emoji 3- oder 4-Byte-Strings erneut in Emoji zu codieren?

Ich habe eine MySQL Innodb-Tabelle mit der Codierung utf8_unicode_ci geerbt. Diese Emoji-4-Byte-Strings sind überall. Ist es möglich, sie zurück in Emoji zu übersetzen?

Erster Schritt war das Ändern der character set in utf8mb4 . Dadurch wurden alle Zeichenfolgen wie ð��£ in Zeichenfolgen wie folgt geändert: 😊 .

Aber ich möchte wirklich 😊 in etwas wie übersetzen. (Ich habe keine Ahnung, ob 😊 wirklich ein Smiley ist)

    
Ryan 20.11.2013, 22:22
quelle

2 Antworten

3

Inspiriert von Kommentar von Ignacio Vazquez-Abrams . Das nächste Python-Code-Snippet zeigt das ursprüngliche Verfahren Emoji für Mojibake und umgekehrt (Reparatur):

%Vor%

Ich weiß , dass die Frage eher php getaggt wird als python ; Lass mich hoffen, dass analoge php Lösung sehr nah sein könnte ...

Ausgabe :

%Vor%

Python-Version:

%Vor%     
JosefZ 17.09.2016 16:26
quelle
0

Die Mehrheit von Emoji benötigt 21 Bits, was Teil der zusätzlichen mehrsprachigen Ebene ist . Laut Diagramm auf dieser Seite hat Emoji das Präfix 1F , das sich von 1F3 bis 1F7 erstreckt. Wenn Ihre Anwendung einfach die oberen 5 Bits entfernt, um in 16 Bits zu passen, wären Sie mit 3xxx - & gt; 7xxx. Dies entspricht hauptsächlich den asiatischen Ideografen anhand dieser Informationen auf der Basic Multilingual Plane . Da die Daten, die Sie zeigen, keine Ideogramme sind, müssen Sie die Daten möglicherweise tiefer analysieren, um zu sehen, ob sie wiederherstellbar sind, indem Sie die Bits zusammen rekombinieren und das Präfix 1F hinzufügen.

    
Stuart Carnie 05.12.2013 18:48
quelle