utf8mb4_unicode_ci utf8 usando tablas opción mysql_full_unicode_support large_prefix innodb_large_prefix está datos cotejamiento convertir configuración cambiar barracuda antelope actual mysql database

usando - utf8mb4 mysql



En MySQL, ¿qué coloco en my.cnf para que todas las tablas sean UTF-8 que funcionen con emojis de forma predeterminada? (3)

Me gustaría que cada tabla y base de datos (para ser creada) sea utf-8 que funcione con emojis. Entiendo que hay algunas variables que debo definir dentro de my.cnf :

init_connect=''SET collation_connection = ??? '' init_connect=''SET NAMES ???'' character-set-server = ??? collation-server = ???

Sin embargo, no estoy seguro de qué poner en el ??? . ¿Qué pongo dentro de my.cnf ?


Además de cambiar a utf8mb4 como sugiere @eol, puede que haya más por hacer.

Si ya tiene tablas que tienen columnas utf8 ; hacer ALTER TABLE .. CONVERT TO CHARACTER SET utf8mb4 .

Cuando se conecte, asegúrese de establecer UTF-8 si el cliente tiene una forma de hacerlo que no sea mysql, o use SET NAMES utf8mb4 .

Tenga en cuenta que la root ignora init-connect . Debería tener un ''usuario'' no root para la aplicación.


Este artículo puede ayudar: https://mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4

Explica en detalle cómo cambiar a utf8mb4 para que sea compatible con unicode completo, permitiendo así que emojis utilicen la siguiente configuración:

[client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci


Para soportar Unicode completo en bases de datos MySQL

  1. Para la base de datos: ALTER DATABASE DATABASE_NAME CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

  2. Para la tabla: ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

  3. Para la columna: ALTER TABLE TABLE_NAME CHANGE COLUMN_NAME COLUMN_NAME VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;