MySQL [ERROR 1366 (HY000)] 中文无法显示解决办法
本来以为MySQL用UTF-8编码应该不会出现中文错误的问题,但是在今天导入含有中文的CSV文件的时候还是遇到了MySQL [ERROR 1366 (HY000)]。在出现问题时,搜索引擎永远是FirstAid。搜索一番,用gbk可以解决。
停掉MySQL服务,修改my.ini文件,修改default-character-set=gbk和default-character-set=gbk。然后重启服务,进入MySQL,使用status命令查看发现
Server characterset: gbk
Db characterset: utf8
Client characterset: gbk
Conn. characterset: gbk
Db characterset的字符集还是utf8,所以仍出现中文乱码。
进入对应的DATABASE修改:
ALTER DATABASE dbname character SET gbk;
USE dbname;
status;
还是不行。难道是因为里面已经有了数据?再试试把TABLES也修改了!
ALTER TABLE tbname character SET gbk;
USE dbname;
status;
最后再尝试把CSV文件导入:
USE dbname;
load data infile '/tmp/sheet.csv'
into table tbname
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\r\n';
BINGO.