¿Cómo cambiar todas las tablas de mi base de datos al conjunto de caracteres UTF8?


Mi base de datos no está en UTF8, y me gustaría convertir todas las tablas a UTF8, ¿cómo puedo hacer esto?

Author: Sam, 2010-01-28

4 answers

Para una sola tabla puedes hacer algo como esto:

CAMBIAR LA pestaña DE LA TABLA CONVERTIR AL CONJUNTO DE CARACTERES utf8 COTEJAR utf8_unicode_ci;

Para toda la base de datos no conozco otro método que similar a este:

Http://www.commandlinefu.com/commands/view/1575/convert-all-mysql-tables-and-fields-to-utf8

 38
Author: Tomasz Zielinski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-27 21:24:20
mysqldump --user=username --password=password --default-character-set=latin1 --skip-set-charset dbname > dump.sql
sed -r 's/latin1/utf8/g' dump.sql > dump_utf.sql
mysql --user=username --password=password --execute="DROP DATABASE dbname; CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;"
mysql --user=username --password=password --default-character-set=utf8 dbname < dump_utf.sql
 12
Author: nubela,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-27 21:21:59

Reemplace my_database_name con el nombre de su base de datos

SELECCIONE CONCAT('ALTER TABLE ', TABLE_NAME, ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;') DESDE information_schema.TABLAS DONDE TABLE_SCHEMA = 'my_database_name';

Esto construirá muchas consultas que puede ejecutar

 6
Author: Thu 01 Jan 1970 000000 GMT,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-19 13:46:30
 1
Author: Sarfraz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-27 21:22:09