web-dev-qa-db-fra.com

Créer une base de données MySQL avec charset UTF-8

Je suis nouveau sur MySQL et j'aimerais savoir:

Comment puis-je créer une base de données avec charset utf-8 comme je l'ai fait dans navicat?

create mydatabase;

... semble utiliser une sorte de jeu de caractères par défaut.

158
user3397998

Mise à jour du 2019-10-29
Comme le mentionne @Manuel Jordan dans les commentaires, utf8mb4_0900_ai_ci est le nouveau par défaut dans MySQL 8.0, ce qui suit est à nouveau une meilleure pratique:

CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

Réponse avant le 29/10/2019
Remarque: Ce qui suit est maintenant considéré comme une meilleure pratique (voir réponse de bikeman868 ):

CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Réponse originale:

Essaye ça:

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;

Pour plus d'informations, consultez Jeu de caractères de base de données et classement dans le manuel de référence MySQL.

261
shellbye

Tu devrais utiliser:

CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Notez que utf8_general_ci n'est plus la meilleure pratique recommandée. Voir les questions et réponses connexes:

Quelle est la différence entre utf8_general_ci et utf8_unicode_ci on Stack Overflow.

67
bikeman868