Erstellen Sie eine MySQL-Datenbank mit dem Zeichensatz UTF-8


142

Ich bin neu in MySQL und würde gerne wissen:

Wie kann ich eine Datenbank mit Zeichensatz erstellen, utf-8wie ich es in navicat getan habe?

create mydatabase;

... scheint einen Standardzeichensatz zu verwenden.

Antworten:


232

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.


1
MySQL utf8mb4ist das, was der Rest von uns nennt utf8. Also, was ist MySQL utf8? 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, utf8mb4was 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 verwenden utf8mb4.
Stijn de Witt

Wenn Sie das Kaninchenloch gehen mögen: COLLATE utf8mb4_unicode_520_cioder utf8mb4_0900_ai_cioder sogar länderspezifisches, zum Beispiel: utf8mb4_vi_0900_ai_ci. Für MariaDB 10.2.2+ haben Sie "Nopad" -Kollatierungen utf8mb4_unicode_520_nopad_ci. dev.mysql.com/doc/refman/8.0/de/charset-unicode-sets.html
Frank Forte

@Shellbye Erwägen Sie, Ihre Antwort zu aktualisieren, um zu erwähnen utf8mb4_0900_ai_ci. Scheint besser zu sein alsutf8mb4_unicode_ci
Manuel Jordan

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.