Saltar al contenido

MySQL Carácter UTF8 no válido string al importar una tabla csv

Posterior a investigar con expertos en el tema, programadores de diversas ramas y maestros dimos con la solución al dilema y la compartimos en esta publicación.

Solución:

Nada más que probé funcionó para mí, incluido asegurarme de que mi .csv se guardara con la codificación UTF-8.

Esto funcionó:

Cuando usas LOAD DATA LOCAL INFILEestablecer CHARACTER SET latin1 en vez de CHARACTER SET utf8mb4 como se muestra en https://dzone.com/articles/mysql-57-utf8mb4-and-the-load-data-infile

Aquí hay un ejemplo completo que funcionó para mí:

TRUNCATE homestead_daily.answers;
SET FOREIGN_KEY_CHECKS = 0; 
TRUNCATE homestead_daily.questions;
SET FOREIGN_KEY_CHECKS = 1; 
LOAD DATA LOCAL INFILE 'C:/Users/me/Desktop/questions.csv' INTO TABLE homestead_daily.questions
CHARACTER SET latin1
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY 'rn'
IGNORE 1 LINES
(type, question, created_at, updated_at);
SELECT * FROM homestead_daily.questions;

Vea cuáles son los ajustes para el exportar fueron. Busque “UTF-8”.

Este sugiere que el “texto truncado” se debe a que los datos no están codificados como utf8mb4. Fuera de MySQL, “busque “UTF-8”. (Dentro, MySQL, utf8 y utf8mb4 funcionan igual de bien para todos los conjuntos de caracteres europeos, por lo que el ü no debería ser un problema.

Si se exportó como “cp1252” (o cualquiera de varias codificaciones), el byte para ü no sería válido para utf8mb4, lo que provocaría un truncamiento.

Si este análisis es correcto, hay dos soluciones:

Plan A: Exportar como UTF-8.

Plan B: Importar como latin1. (No necesita cambiar la definición de columna/tabla, solo la LOAD DATA.)

Simplemente abra el archivo csv en su editor de texto (como Nodepad ++)

y cambie la codificación del archivo a UTF-8

luego importe su archivo csv

Si piensas que te ha sido provechoso nuestro artículo, te agradeceríamos que lo compartas con el resto programadores de este modo nos ayudas a dar difusión a este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *