我使用LOAD DATA LOCAL INFILE 上传csv文件数据到mysql中数据库ibz的表usertmpfile上。csv文件中数据为:
sherry,123456,A,[email protected],En,小Y,浙江省,宁波,NB,043,214000,88888888,88888888用的命令是这样的(在cmd中执行):
mysql --local-infile=1 -e "LOAD DATA LOCAL INFILE 'D:/Book1.csv' INTO TABLE usertmpfile(表名) FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'" -h server(服务器名字) -uroot(用户名) -proot(密码) ibz(数据库名字)执行后得到的结果是导入mysql数据库ibz中表usertmpfile的数据是:------------------------------------------------------------------------------------------------------------
sherry | 123456 |  A  | [email protected]  | En  |  CY    |      |       |NB   |043  |214000|88888888|88888888|
-------------------------------------------------------------------------------------------------------------
其中有中文的"小Y"显示成了"CY" , "浙江省"没有显示, "宁波" 也没有显示。
请问各位大侠,应该怎么解决啊?

解决方案 »

  1.   

    mysql 编码问题吧,先设置编码呢mysql > set name GBK(UTF8)...
    MYSQL > 
      

  2.   

    默认Mysql安装是utf8 ,应该可以显示中文吧?
    普通通过工具在该表usertmpfile中是可以插入中文并显示的,就是导入的不行。
      

  3.   

    http://blog.chinaunix.net/u/29134/showart_1069838.html
      

  4.   

    照楼上的方法为什么我会提示这个。。
    ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the ma
    nual that corresponds to your MySQL server version for the right syntax to use n
    ear 'character set gbk FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAP
    ED BY' at line 1
      

  5.   

    LOAD DATA LOCAL INFILE 'D:\C028.csv' INTO TABLE c028 FIELDS TERMINATED BY ',' ENCLOSED BY "" LINES TERMINATED BY '\R';
    试试这个吧