phpMyAdmin
 sql >> Datenbank >  >> Database Tools >> phpMyAdmin

Speichern von Daten MySQL in kurdischer Schrift?

Was ist passiert:

  • Du hattest utf8-codierte Daten (gut)
  • SET NAMES latin1 war in Kraft (Standard, aber falsch)
  • die Spalte wurde als CHARACTER SET latin1 deklariert (Standard, aber falsch)

Wie Sie INSERTed Die Daten wurden in latin1 konvertiert, das keine Werte für arabische (kurdische/farsi/usw.) Zeichen hat, also wurden sie durch Fragezeichen ersetzt.

Das Heilmittel (für zukünftige INSERTs ):

  • utf8-codierte Daten (gut)
  • mysqli_set_charset('utf8') (oder was auch immer Ihr Client zum Erstellen des CHARACTER SET benötigt )
  • Überprüfen Sie, ob die Spalten und/oder Tabellen standardmäßig CHARACTER SET utf8 sind
  • Wenn Sie auf einer Webseite anzeigen, <meta...utf8> sollte ganz oben stehen.

Die obige Diskussion dreht sich um CHARACTER SET , die Kodierung von Zeichen. Nun zu einem Tipp zu COLLATION , die zum Vergleichen und Sortieren verwendet wird.

Um zu überprüfen, ob die Daten korrekt gespeichert sind, führen Sie SELECT col, HEX(col)... aus .
ه‌رچوون sollte zurückkommen D987E2808CD8B1DA86D988D988D986
Arabische Zeichen in utf8 haben hexadezimal D8xx oder D9xx.

(utf8mb4 funktioniert genauso gut wie utf8; beides funktioniert für Arabisch.)

Schlechte Nachrichten:Die eingefügten und in „???“ umgewandelten Daten kann nicht wiederhergestellt werden.