Cree una base de datos MySQL con el juego de caracteres UTF-8


142

Soy nuevo en MySQL y me gustaría saber:

¿Cómo puedo crear una base de datos con charset utf-8como hice en navicat?

create mydatabase;

... parece estar usando algún tipo de juego de caracteres predeterminado.

Respuestas:


233

Nota: Lo siguiente ahora se considera una mejor práctica (ver la respuesta de bikeman868 ):

CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Respuesta original:

Prueba esto:

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;

Para obtener más información, consulte Conjunto de caracteres de la base de datos y clasificación en el manual de referencia de MySQL


1
MySQL utf8mb4es lo que el resto de nosotros llamamos utf8. Entonces, ¿qué es MySQL utf8que preguntas? Es una versión limitada de utf-8 que solo funciona para un subconjunto de los personajes pero falla para cosas como emoji. Más tarde agregaron utf8mb4cuál es la implementación correcta, pero MySQL debe ser compatible con sus antiguos errores, por eso se agregó una nueva codificación en lugar de corregir la anterior. Todas las bases de datos nuevas deben usar utf8mb4.
Stijn de Witt

Si quieres ir por la madriguera: COLLATE utf8mb4_unicode_520_cio utf8mb4_0900_ai_cio incluso específica para la localización, por ejemplo: utf8mb4_vi_0900_ai_ci. Para MariaDB 10.2.2+, tiene intercalaciones "nopad" utf8mb4_unicode_520_nopad_ci. dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html
Frank Forte

@shellbye Considere actualizar su respuesta para mencionarla utf8mb4_0900_ai_ci. Parece que es mejor queutf8mb4_unicode_ci
Manuel Jordan

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.