MySQL学习笔记---- LOAD DATA LOCAL INFILE中文乱码

来源:互联网 发布:算法导论有什么用 编辑:程序博客网 时间:2024/06/06 10:07

         借阅了学校图书馆里面的一本关于JSP的书《JSP课程设计案例精编》来复习JSP相关的技术。再查阅书中相关项目代码时也学习了很多,关于数据库的也学习到不少,好的方法记下,留待以后工作使用。

         首先关于数据库数据的导入也学习到一个新方法

         LOAD DATA LOCAL INFILE 'C:/Users/Administrator/Desktop/user_info.txt' INTO TABLE   user_info character set utf8

把'C:/Users/Administrator/Desktop/user_info.txt'的数据按记录格式存入到user_info表中;同时user_info.txt中存放数据记录,而数据记录里面的每个元素之间要分隔开,这样就可以自动导入数据了。

        我们导入数据时也会导入中文,但是我们利用本地文件导入时经常会发生中文乱码。解决中文乱码要从以下几个方面入手(不分先后,实际排错也分不了先后)。

第一,如果在Mysql Comment line Client中先输入 set names 'utf8';  或者  set names 'gbk'; 看看中文乱码有没有解决,,然后再重新导入数据看看;

第二,如果没有看看你的导入语句  LOAD DATA LOCAL INFILE中有没有加character set utf8,,然后再重新导入数据看看;

第三,如果还是不行,还要看看你存数据的txt文档是用什么编码编的,打开这个数据文档,点击另存为,设置编码格式为utf-8(图三),然后再重新导入数据看看;

第四,如果发现上面的方式都不行,那就得用show   variables   like   "%char%";看到图四查询出来的Variables的value有不是utf8的,所以要把他们都改成utf8,那个二进制的除外。

SET character_set_client = utf8 ;  
        SET character_set_connection = utf8 ;
     SET character_set_database = utf8 ;
 SET character_set_results = utf8 ; 
SET character_set_server = utf8 ; 
SET collation_connection = utf8 ; 
 SET collation_database = utf8 ; 
 SET collation_server = utf8 ;

修改完之后,再把数据导入,应该就不会出现中文乱码的问题。

user_info中的数据


\













0 0
原创粉丝点击