Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie man MySQL dazu bringt, UTF-8 richtig zu verarbeiten

Aktualisierung:

Kurze Antwort - Sie sollten fast immer utf8mb4 verwenden Zeichensatz und utf8mb4_unicode_ci Sortierung.

So ändern Sie die Datenbank:

ALTER DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Siehe:

Ursprüngliche Antwort:

MySQL 4.1 und höher hat einen Standardzeichensatz von UTF-8. Sie können dies in Ihrer my.cnf überprüfen Datei, denken Sie daran, beide einzustellen Client und Server (default-character-set und character-set-server ).

Wenn Sie vorhandene Daten haben, die Sie in UTF-8 konvertieren möchten, sichern Sie Ihre Datenbank und importieren Sie sie wieder als UTF-8, wobei Sie Folgendes sicherstellen:

  • benutze SET NAMES utf8 bevor Sie in die Datenbank abfragen/einfügen
  • benutze DEFAULT CHARSET=utf8 beim Erstellen neuer Tabellen
  • Zu diesem Zeitpunkt sollten Ihr MySQL-Client und -Server in UTF-8 sein (siehe my.cnf ). Denken Sie daran, dass alle von Ihnen verwendeten Sprachen (z. B. PHP) ebenfalls UTF-8 sein müssen. Einige PHP-Versionen verwenden ihre eigene MySQL-Client-Bibliothek, die UTF-8 möglicherweise nicht unterstützt.

Wenn Sie vorhandene Daten migrieren möchten, denken Sie daran, zuerst ein Backup zu erstellen! Wenn die Dinge nicht wie geplant laufen, kann es zu vielen seltsamen Datenverschneidungen kommen!

Einige Ressourcen: