如何解决phpmyadmin导出sql文件乱码的问题

43次阅读
没有评论

共计 1299 个字符,预计需要花费 4 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章给大家分享的是有关如何解决 phpmyadmin 导出 sql 文件乱码的问题的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

phpmyadmin 导出 sql 文件乱码怎么办?

phpMyAdmin 版本是 2.9.1.1

用 phpMyAdmin 备份数据库,导出来后,在本地用 sqlyog 还原的时候,出现如下错误:

Error occured at:2009-03-03 10:09:43
Line no.:11154
Error Code: 1062 - Duplicate entry  ??????  for key 2

打开 sql 文件看了下,会员表下的会员用户名是乱码,全都是类似于???,???? 的,因为现在很多程序都支持中文用户名了,而用户名又是唯一的,中文用户名变成乱码后,就出现很多相同的用户名,而我们导入这些出现乱码的数据时,前面已经有?????? 这个用户名了,所以下面出现第二个就报错了

如果有系统的控制权,可以用如下命令导出数据,就不会出现乱码,还原时是正常的

mysqldump -uroot -p --default-character-set=utf8 --set-charset --skip-opt dbname   newdbname.sql

但现在只能用 phpMyAdmin 导出,测试了好久,发现如果 phpMyAdmin 的 Language 为 中文 -chinese simplified-gb2312 时,导出来的 sql 文件是 gb2312 的,某些表里有中文,中文为乱码,当 phpMyAdmin 的 Laguage 为 中文 -chinese simplified(也就是 utf8)时,导出来的 sql 文件字符集是 utf8 的 (用 Notepad++ 查看格式,显示是 UTF- 8 无 BOM 格式编码),表里的中文可以正常显示

所以,为避免导出来的文件里中文是乱码,可以从 Language 下拉菜单中,选择中文 -chinese simplified,然后再选择导出,下载回来的 sql 文件中的中文就可以正常显示了。

用如下命令还原

mysql -uroot -p --default-character-set=utf8 newdbname   newdbname.sql

本来想把 phpMyAdmin 的默认 Language 修改为“中文 -chinese simplified,但试过修改 config.inc.php 和 libraries 目录下的 config.default.php 都没有用,没关系了,毕竟不同人选择数据库的编码都不一样的,总是有人要重新选择一下语言,还是让它默认是“中文 -chinese simplified-gb2312”吧!

猜测另外一种解决办法是,导出来的文件编码是 gb2312,所以可以考虑将 gb2312 转换为 utf8. 此方法试验中。

感谢各位的阅读!关于“如何解决 phpmyadmin 导出 sql 文件乱码的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-16发表,共计1299字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)