+ -
当前位置:首页 → 问答吧 → load data乱码的问题,求解?

load data乱码的问题,求解?

时间:2011-08-05

来源:互联网

SQL code
CREATE TABLE t(
 id INT(10) NOT NULL AUTO_INCREMENT,
 name CHAR(20) NOT NULL,
 PRIMARY KEY(id)
 );


data.txt
1,张三
2,李四
3,王五
4,zhangsan
5,wangwu

MYSQL和my.ini配置都是GBK,而文本文档没有GBK的编码,只有ANSI,Unicode,Unicode big endian,utf-8四种格式
我选择的是utf-8格式。

mysql> LOAD DATA INFILE 'C:/data.txt' INTO TABLE t CHARACTER SET UTF8 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
mysql> SELECT * FROM T;
+----+-----------+
| id | name |
+----+-----------+
  | 张三
  | 李四
  | 王五
 | 4 | zhangsan
| 5 | wangwu |
+----+-----------+


mysql> LOAD DATA INFILE 'C:/data.txt' INTO TABLE t CHARACTER SET GBK FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
mysql> SELECT * FROM T;
+----+-----------+
| id | name |
+----+-----------+
  | | 寮犱笁
  | | 鏉庡洓
  | | 鐜嬩簲
 | 4 | zhangsan
| 5 | wangwu |
+----+-----------+

LOAD DATA INFILE 'C:/data.txt' INTO TABLE t FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
mysql> SELECT * FROM T;
+----+-----------+
| id | name |
+----+-----------+
  | | 寮犱笁
  | | 鏉庡洓
  | | 鐜嬩簲
 | 4 | zhangsan
| 5 | wangwu |
+----+-----------+


怎么正常插入,在公司的时候是可以的,但是查询的时候中文查询不出,SELECT * FROM t WHERE name='张三'; 没有结果。
现在回家想测试下,竟然都是乱码了.

作者: rczjp   发布时间: 2011-08-05

set names 'gbk';

然后再试一下。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

作者: ACMAIN_CHM   发布时间: 2011-08-05

引用 1 楼 acmain_chm 的回复:
set names 'gbk';

然后再试一下。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码
嗯 试过了,还是一样,所以很困惑

作者: rczjp   发布时间: 2011-08-05