解决Linux数据库导出到Windows下乱码的问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了解决Linux数据库导出到Windows下乱码的问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1930字,纯文字阅读大概需要3分钟。
内容图文
前段时间公司服务器做平台迁移,需要将Linux下的MySQL数据库导出到Windows的服务器下。很自然的用了mysqldump指令导出了SQL文件,然后在Windows下进行了MySQL导入操作。导入结束后检查了表数量等等都没问题,于是很自然的以为导入工作顺利完成。 结果哪知道
前段时间公司服务器做平台迁移,需要将Linux下的MySQL数据库导出到Windows的服务器下。很自然的用了mysqldump指令导出了SQL文件,然后在Windows下进行了MySQL导入操作。导入结束后检查了表数量等等都没问题,于是很自然的以为导入工作顺利完成。
结果哪知道后来发现出来了乱码的问题,多次尝试mysqldump导出后导入都不行。于是,只能是编码的问题导致这样的情况了。
Linux系统安装的MySQL,默认的语言是latin1;而Windows下的MySQL在图形化界面安装过程中已经设置默认编码为UTF-8了。看来应该就是这样的问题了,编码问题害死人,经常乱码不说还折腾人
于是网上搜索了一圈,很简单的就解决了,记录解决步骤如下:
1、以Linux下的MySQL默认编码导出数据:
#mysqldump -u USERNAME -pPASSWORD –default-character-set=latin1 [DBname] > [filepath/filename.sql]
其中USERNAME为数据库用户名,一般为root。PASSWORD为密码,也可以不填写,只带上-p标记。最关键的就要数“–default-character-set=latin1”这部分了,一定要跟Linux系统下的编码设置一致。然后DBName为数据库名,后面就是导出的文件路径了。
2、在Windows下用NotePad++、UltraEdit之类的支持多编码格式的文本编辑器打开这个导出的SQL文件,看看有没有乱码。如果没有乱码的话,进行下面的操作。
找到:
CREATE TABLE `table` (
…略…
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
将其改为:
CREATE TABLE `table` (
…略…
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
3、将改好的文件保存成UTF8格式,注意不要添加BOM信息,这样就得到一个UTF8的SQL文档了!
4、执行MySQL导入命令:
mysql -u USERNAME -pPASSWORD [DBname] < [filepath/filename.sql]
5、用phpMyAdmin检查下,现在终于不乱码了,问题解决!
资料参考:http://blog.roga.tw/2008/11/05/1127
原文地址:解决Linux数据库导出到Windows下乱码的问题, 感谢原作者分享。
内容总结
以上是互联网集市为您收集整理的解决Linux数据库导出到Windows下乱码的问题全部内容,希望文章能够帮你解决解决Linux数据库导出到Windows下乱码的问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。