I'm a tree and wating for the spring!

【原创】解决转移数据库乱码问题

★作者:桐星豆博客   |  ★类别: MySQL   |  ★发布时间: 2010-07-23 12:04   |  ★更新时间: 2010-07-23 12:04   |  ★浏览次数:1528   |  ★ 评论(0)

     在项目开发的时候,数据库和项目编码尽量要一致,最好都用utf-8编码,否则开发过程中会遇到“额外”的麻烦,这点我深有体会。 以MySQL为例,在某种情况下,一个数据库可能有不同的编码设置,比如character_set_client设置管理数据库客户端的编码、character_set_connection是连接数据库使用的编码、character_set_results是查询结果显示所用的编码等等,我们可以使用如下方式查看某数据库的编码:show variables like'character%';

桐星豆博客 http://xyxy.website.org

      在数据库转移过程中,难免会遇到编码不一致的问题出现,比如在A服务器中,MySQL 数据库 DB 使用的:character_set_results编码为 latin1 ,把A中DB数据库导入到B服务器DB中时 character_set_results 编码为 utf8,这样在B中查询出来的结果集会是乱码:
桐星豆博客 http://xyxy.website.org
我们用 show variables like'character%'; 查看两个数据库中的编码可以看出,它们使用的编码不一致,也就是这个原因造成的,这时我们可以在B服务器中使用SET character_set_results='latin1';其中“latin1”是和A服务器中DB数据库的character_set_results编码一致的,执行命令后,再查询就不是乱码了:
桐星豆博客 http://xyxy.website.org

      只要两个数据库的编码一致了就不会出现乱码问题,如果在B服务器中 insert 数据出现乱码的解决方法同理,可以用 SET character_set_client='A服务器中DB数据库character_set_client编码'; 以此类推!

请尊重他人的劳动果实,转载时务必注明出处! 请尊重他人的劳动果实,转载时务必注明出处!
转载请注明:文章转载自:桐星豆博客 [http://blog.txdou.com]
本文标题:【原创】解决转移数据库乱码问题
本文地址:http://blog.txdou.com/article28
分享到QQ空间 分享到腾讯朋友

  • 注意:“桐星豆博客”只会以“回复”的身份出现,不会以“咨询”的身份出现在留言或评论中,凡是以“咨询”的身份出现的留言或评论均为他人盗用!
  • 本站用以回复网友评论的唯一名称是“桐星豆博客”,除此外均无效,网友不得用此名进行相应文章的评论或回复!
  • 用户言论只代表其个人观点,不代表桐星豆博客的观点或立场!
  • 非诚勿扰,请友好如实的评论,杜绝谩骂、人格攻击等一切伤人言论,请严格遵循中华人民共和国法律法规!
  • 桐星豆博客拥有最终解释权,如有网友违规,本站将有权删除或屏蔽违规评论,情节严重者账户加入黑名单、永久封IP并报司法部门严惩!
  • 您一旦参与评论本站则默认为您已经同意以上条款,否则“非诚勿扰”,谢谢合作!

您的姓名或昵称: 选填
您的E-Mail地址: ☆必填--仅站长可见
您个人网站地址: 选填 ( 如果填写,请务必加上 http:// 或 https:// 等等 )
留言内容:

验证码: 点击重新生成验证码  [ ctrl + enter ]

CopyRight © 2009-2020 by 桐星豆博客 All Rights Reserved.