原数据库字符集是latin1 -- cp1252 West European 通过navicat导出 sql文件,将sql文件导入另一台服务器的MYSQL数据库时中文出现乱码。
解决过程如下:
1、设置navicat连接属性,取消勾选 使用mysql字符集。
2、新建一个与原数据库同时的数据库。比如yxk 此时要设置数据库属性中的字符集与原数据库一致,例如此处要设置为:latin1 -- cp1252 West European
3、在navicat点击运行SQL文件,导入我们之前备份的SQL文件即可。此处的编码保持默认即可。一般是UTF-8。如果你程序使用的是GBK,那么此处也改成对应的编码GBK。
搞定。
提示1:最重要的一步是第2步,就是字符集一定要和之前备份出来的文件的字符付一致。
揭示2:查看备份SQL文件的字符集的方法,可以文本编辑器打开SQL文件,里面会有DEFAULT CHARSET=latin1字样,就表示是latin1字符集。当然也可以用navicat打开原数据库,点击 数据库属性 进行查看字符集。
特别提示:如何对SQL文件进行字符付转换
如果想修改备份的SQL文件的字符集,比如我们之前默认的是latin1 想改成utf8字符集。那么可以用文本编辑器(例如notepad++,editplus等工具)打开SQL文件,把其中的latin1全部为utf8,最后保存即可。