Ich bin neu in MySQL und würde gerne wissen:
Wie kann ich eine Datenbank mit Zeichensatz erstellen, utf-8
wie ich es in navicat getan habe?
create mydatabase;
... scheint einen Standardzeichensatz zu verwenden.
Hinweis: Folgendes wird jetzt als bessere Praxis angesehen (siehe Antwort von bikeman868 ):
CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Ursprüngliche Antwort:
Versuche dies:
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;
Weitere Informationen finden Sie unter Datenbankzeichensatz und -sortierung im MySQL-Referenzhandbuch.
utf8mb4
ist das, was der Rest von uns nenntutf8
. Also, was ist MySQLutf8
? Es ist eine eingeschränkte Version von utf-8, die nur für eine Teilmenge der Zeichen funktioniert, aber für Dinge wie Emoji nicht funktioniert. Später fügten sie hinzu,utf8mb4
was die korrekte Implementierung ist, aber MySQL muss abwärtskompatibel zu seinen alten Fehlern bleiben, weshalb eine neue Codierung hinzugefügt wurde, anstatt die alte zu reparieren. Alle neuen Datenbanken sollten verwendenutf8mb4
.COLLATE utf8mb4_unicode_520_ci
oderutf8mb4_0900_ai_ci
oder sogar länderspezifisches, zum Beispiel:utf8mb4_vi_0900_ai_ci
. Für MariaDB 10.2.2+ haben Sie "Nopad" -Kollatierungenutf8mb4_unicode_520_nopad_ci
. dev.mysql.com/doc/refman/8.0/de/charset-unicode-sets.htmlutf8mb4_0900_ai_ci
. Scheint besser zu sein alsutf8mb4_unicode_ci
Du solltest benutzen:
Beachten Sie, dass dies
utf8_general_ci
keine empfohlene Vorgehensweise mehr ist. Siehe die entsprechenden Fragen und Antworten:Was ist der Unterschied zwischen utf8_general_ci und utf8_unicode_ci beim Stapelüberlauf?
quelle
utf8mb4_0900_ai_ci
. Scheint besser zu sein alsutf8mb4_unicode_ci