今天帮忙朋友找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 |