MySQL: Emoji werden abgeschnitten oder gar nicht gespeichert
utf8 ist in MySQL nicht UTF-8, sondern utf8mb3 mit höchstens drei Byte pro Zeichen. Emoji brauchen vier — und fallen deshalb hinten runter.
// Schlagwort
Alle 6 Layer-8-Fehler mit dem Schlagwort „Unicode“ – verifizierte Lösungen, trocken kommentiert.
utf8 ist in MySQL nicht UTF-8, sondern utf8mb3 mit höchstens drei Byte pro Zeichen. Emoji brauchen vier — und fallen deshalb hinten runter.
Die Liste ist alphabetisch, aber Ärzte steht hinter Zylinder. Alphabetische Reihenfolge ist keine Eigenschaft der Zeichen, sondern der Sprache.
Der Nachname endet auf einem schwarzen Rautezeichen, das Feld meldet zu lang. In UTF-8 ist ein Zeichen ein bis vier Bytes – Länge ist zweideutig.
UnicodeEncodeErrorUnicodeEncodeError in Python: Umlaute oder Emojis passen nicht in die Zielkodierung. So legst du sie für Dateien und Konsole ausdrücklich fest.
Zwei Namen sehen identisch aus, der Vergleich sagt trotzdem ungleich. Schuld ist nicht der Code, sondern die Unicode-Normalisierung: NFC gegen NFD.
Python bricht beim Öffnen einer Datei mit UnicodeDecodeError ab. Die Datei ist meist heil – es passt nur die angenommene Zeichenkodierung nicht.