Navicat Premium下sql导入中文乱码解决方案

        今天帮忙朋友找bug的时候,准备导入她数据库里面的数据,所以我就试图在mysql管理工具Navicat下面导入相应的mysql命令。结果发现导入的中文字符全部变成乱码,所以做了如下这种尝试:


      在“连接属性”的设置中,高级-“使用mysql字符集”去掉钩,并且将编码改为10008-GB2312.
      然后进入navicat的控制台后,show variables like 'char%';命令后如下:
      +--------------------------+---------------------------------------+
      | Variable_name            | Value                                 |
      +--------------------------+---------------------------------------+
      | character_set_client     | latin1                                |
      | character_set_connection | latin1                                |
      | character_set_database   | utf8                                  |
      | character_set_filesystem | binary                                |
      | character_set_results    | latin1                                |
      | character_set_server     | utf8                                  |
      | character_set_system     | utf8                                  |
      | character_sets_dir       | D:\mysql-5.1.32-win32\share\charsets\ |
 
      此时我们需要在控制台运行 set names 'gbk'命令,运行后再次show variables like 'char%';命令查看结果如下:
 
      +--------------------------+---------------------------------------+
      | Variable_name            | Value                                 |
     +--------------------------+---------------------------------------+
      | character_set_client     | gbk                                   |
      | character_set_connection | gbk                                   |
      | character_set_database   | utf8                                  |
      | character_set_filesystem | binary                                |
      | character_set_results    | gbk                                   |
      | character_set_server     | utf8                                  |
      | character_set_system     | utf8                                  |
      | character_sets_dir       | D:\mysql-5.1.32-win32\share\charsets\ |
 
      客户端连接环境设置算是完成了。接着中文数据该怎么插还是怎么插,不会再有乱码出现。
 
      至于从.sql.txt等文本批量导入数据,则需要将相应的文件转化为gbk格式保存再导入,否则导入后会乱码


      如果输出的编码格式不是以上格式,也可以通过下面的SQL语句来对其进行修改,MYSQL命令设置编码格式:
         set character_set_server = 'utf8';
  
      转载请注明出处:http://blog.csdn.net/pearyangyang/article/details/46127005



你可能感兴趣的:(数据库)