utf8 importar error datos cotejamiento cambiar acentos mysql utf-8

error - utf8 confuso al importar en mysql



utf8 mysql select (4)

Creo que también podría tener algo que ver con la colación, pero no estoy seguro. En mi caso ciertamente lo hizo, ya que tenía que apoyar al cirílico.
Intenta esto, trabajó para mí:

  1. Establezca la intercalación inicial al crear la base de datos de destino en utf8_general_ci

  2. Agregue SET NAMES ''utf8'' COLLATE ''utf8_general_ci''; a la parte superior de su archivo sql

  3. Ejecute mysql -u root -p --default-character-set=utf8 yourDB < yourSQLfile.sql

Una cosa más, para obtener correctamente los datos UTF-8 de su base de datos, también tendrá que modificar su cadena de conexión. Por ejemplo:

mysql.url=jdbc:mysql://localhost:3306/nbs?useJvmCharsetConverters=false&useDynamicCharsetInfo=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&useEncoding=true

Además, eche un vistazo a lo que era mi problema .

Importar datos codificados en UTF8 en mysql no funciona para mí. Los caracteres UTF8 están dañados. Por ejemplo, Nöthnagel se muestra como Nöthnagel

He creado un archivo de volcado SQL para realizar la importación que contiene datos codificados en UTF-8. Por ejemplo:

INSERT INTO `users` VALUES(1, ''Fred'',''Nöthnagel'');

La secuencia de bytes que representan ö en el archivo es c3 b6, que creo que es correcta, ya que se muestra correctamente en vim y en mi shell bash que tiene estas variables de entorno establecidas:

$ env | grep -i utf LANG=en_US.UTF-8 XTERM_LOCALE=en_US.UTF-8

El db mysql fue creado de la siguiente manera:

mysql> CREATE DATABASE mydb CHARACTER SET utf8;

La tabla mysql fue creada así:

CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `first_name` varchar(30) NOT NULL, `last_name` varchar(30) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `last_name` (`last_name`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

Estoy importando el archivo de volcado de esta manera:

mysql -u root -psecret mydb < mydump.sql

Por favor, dime lo que falta en lo anterior.


El problema se resolvió agregando esto en la parte superior del archivo sql:

SET NAMES utf8;


Tuve un problema similar. Hay una serie de variables que deberían ser UTF8, no solo la base de datos, sino que incluyen el cliente, la conexión, el servidor, etc.

La solución a su problema se describe en este artículo . La solución descrita es portátil, por lo que no solo funciona para utf8, sino para todos los demás conjuntos de caracteres. Es posible que necesite modificarlo para que se ajuste a sus necesidades.


Utilice este comando para importar la tabla utf8 a la base de datos:

mysql -u USERNAME -pPASSWORD --default_character_set utf8 DATABASE < file.sql