你这样试试看行不行,我建了一个表,表结构如下:
mysql> desc aa;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)字符集设置如下:
mysql> show variables like "%char%";
+--------------------------+---------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\MySQL\mysql-5.0.21-win32\share\charsets\ |
+--------------------------+---------------------------------------------+
8 rows in set (0.00 sec)然后我就新建了一个文本文件sql.txt,里面有一条记录:1 王小二
接着点另存为,选择字符集UTF-8,再用上面的load data infile 'path/file' into table aa;
最后用mysql query browser来查看,并没有乱码,之所以用工具来查看,是因为在command line下,dos不支持UTF-8字符集,所有的中文都是乱码的。
mysql> desc aa;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)字符集设置如下:
mysql> show variables like "%char%";
+--------------------------+---------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\MySQL\mysql-5.0.21-win32\share\charsets\ |
+--------------------------+---------------------------------------------+
8 rows in set (0.00 sec)然后我就新建了一个文本文件sql.txt,里面有一条记录:1 王小二
接着点另存为,选择字符集UTF-8,再用上面的load data infile 'path/file' into table aa;
最后用mysql query browser来查看,并没有乱码,之所以用工具来查看,是因为在command line下,dos不支持UTF-8字符集,所有的中文都是乱码的。
字符集设置为 gb2312