Importé algunos datos utilizando LOAD DATA INFILE en una base de datos MySQL. La tabla en sí y las columnas están utilizando el juego de caracteres UTF8, pero el juego de caracteres predeterminado de la base de datos es latin 1. Como el tipo de carácter predeterminado de la base de datos es latin1, y usé LOAD DATA INFILE sin especificar un juego de caracteres, interpretó el archivo como latin1, aunque los datos en el archivo eran UTF8. Ahora tengo un montón de datos mal codificados en mi columna UTF8. Encontré this article que parece resolver un problema similar, que es "UTF8 insertado en cp1251", pero mi problema es "Latin1 insertado en UTF8". Intenté editar las consultas para convertir los datos de latin1 a UTF8, pero no puedo hacer que funcionen. O bien los datos salen igual, o incluso más destrozados que antes. Solo a modo de ejemplo, la palabra Québec se muestra como Québec.MySQL Convertir datos latin1 a UTF8
[INFO ADICIONAL]
al seleccionar los datos envueltas en HEX(), Quà © bec tiene el valor 5175C383C2A9626563.
La tabla Crear (acortada) de esta tabla es.
CREATE TABLE MyDBName.`MyTableName`
(
`ID` INT NOT NULL AUTO_INCREMENT,
.......
`City` CHAR(32) NULL,
.......
`)) ENGINE InnoDB CHARACTER SET utf8;
publique la sentencia CREATE TABLE para la tabla en cuestión, junto con un par de filas rotas, pero envuelva la columna rota en hex(), de esta manera: 'SELECT HEX (nombre) DE LAS CIUDADES LÍMITE 5'. con esta información, puedo ayudarlo a encontrar la manera correcta de corregirlo de acuerdo con ese artículo. (Por cierto: ¡me encanta ese artículo! Me ha salvado muchas veces.) – longneck