Mi base de datos no está en UTF8, y me gustaría convertir todas las tablas a UTF8, ¿cómo puedo hacer esto?¿Cómo cambiar todas las tablas de mi base de datos al juego de caracteres UTF8?
Respuesta
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
ver esto: Turning mysql data into utf8
Para la mesa sola puede hacer algo como esto:
ALTER TABLE pestaña CONVERSIÓN A CARACTERES utf8 COLLATE utf8_unicode_ci;
Para toda la base de datos no sé otro método distinto similar a esto:
http://www.commandlinefu.com/commands/view/1575/convert-all-mysql-tables-and-fields-to-utf8
Para aquellos sin acceso a la línea de comando, puede ejecutar rápidamente 'MOSTRAR TABLAS;' en su base de datos, pegarlas en NimbleText en http://nimbletext.com/live y luego usar este patrón para generar el script de cambio: 'ALTER TABLE \ '$ 0 \' CONVERTIR AL CONJUNTO DE CARACTERES utf8 COLLATE utf8_unicode_ci; ' – jocull
Creo que ese consejo sobre el nimbletext salva algunas vidas. ¡Vota arriba! – James
reemplazar my_database_name
con su nombre de base de datos
SELECT CONCAT ('ALTER TABLE', TABLE_NAME ' CONVERTIR AL CONJURTO DE CARACTERES utf8 COLLATE utf8_unicode_ci; ') FROM information_schema.TABLES WHERE TABLE_SCHEMA =' my_database_name ';
esto va a construir una gran cantidad de consultas que puede ejecutar
- 1. ¿Cómo puedo cambiar los prefijos en todas las tablas de mi base de datos MySQL?
- 2. Renombrar todas las tablas en la base de datos
- 3. Lista de todas las tablas en la base de datos
- 4. Psql enumera todas las tablas
- 5. ¿Cómo colocar todas las tablas en la base de datos sin soltar la base de datos?
- 6. ¿Cómo puedo colocar todas las tablas en mi base de datos?
- 7. Listar todas las tablas en una base de datos
- 8. Obtenga todas las tablas y todas las columnas de una base de datos odbc
- 9. Seleccionar de todas las tablas
- 10. Mysql cambia el juego de caracteres predeterminado de la tabla al conjunto de caracteres de la base de datos
- 11. Sqlite: ¿Cómo reinicio todas las tablas de la base de datos?
- 12. Cómo mostrar todas las tablas de múltiples bases de datos
- 13. ¿Cómo puedo convertir todas las columnas en mi base de datos a mayúsculas y minúsculas
- 14. Cómo colocar todas las tablas de la base de datos con manage.py CLI en Django?
- 15. Base de datos por aplicación VS Una gran base de datos para todas las aplicaciones
- 16. ¿Cómo se truncan todas las tablas en una base de datos utilizando TSQL?
- 17. ¿Cómo puedo listar todas las tablas en una base de datos con Squirrel SQL?
- 18. ¿Cómo puedo eliminar el contenido de todas las tablas de mi base de datos en phpMyAdmin sin soltar la base de datos?
- 19. Cómo generar DDL para todas las tablas en una base de datos en MySQL
- 20. Cambiar la precisión de todas las columnas decimales en cada tabla en la base de datos
- 21. ¿Cómo puedo crear una nueva base de datos SQLite, con todas las tablas, sobre la marcha?
- 22. Buscar todas las columnas de un cierto tipo en todas las tablas en una base de datos SQL Server
- 23. Reparar todas las tablas de una vez
- 24. Eliminar datos de todas las tablas en MYSQL
- 25. Django: elimine todos los datos de todas las tablas (pero conserve las tablas)
- 26. ¿Cómo ver todas las tablas en una base de datos HSQLDB?
- 27. ¿Cómo eliminar todas las tablas en una base de datos MySQL?
- 28. Juego de caracteres Oracle JDBC y límite de caracteres 4000
- 29. ¿Cómo cambiar la intercalación predeterminada de una base de datos?
- 30. Número total de campos en todas las tablas de la base de datos
Y es de esperar que su base de datos no contiene “latin1” dentro de cualquiera de los contenidos, tales como entradas de blog acerca de la codificación de caracteres ... de lo contrario sus usuarios pueden tener motivos para una demanda si su sitio web de conversión posterior de repente ofrece comandos de base de datos erróneos. –
después del sed: uconv --desde el código latin1 --to-code utf8 dump_utf.sql> dump_utf_fixed.sql – scribe
¿Qué es SED ????? – marcolopes