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í:
Establezca la intercalación inicial al crear la base de datos de destino en
utf8_general_ci
Agregue
SET NAMES ''utf8'' COLLATE ''utf8_general_ci'';
a la parte superior de su archivo sqlEjecute
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