你这样试试看行不行,我建了一个表,表结构如下:
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字符集,所有的中文都是乱码的。