码迷,mamicode.com
首页 > 数据库 > 详细

MySQL数据库“局部”乱码

时间:2015-07-18 12:25:20      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:

问题:“网页显示中午”与“数据库查看中文”总有一个是乱码,或者“网页中总有部分中文乱码”

装了PHPStudy之后,用alter修改过一次数据库的编码方式为utf8!当时的网页的编码显示是正常的,所以我就没有放在心上以为可以了!到后来才发现:网页显示中文的时候不是乱码的,但是在数据库查看中文的时候却是乱码的!还有更奇怪的是,我做一个电商网站的时候,发现一级菜单的中文显示“夏日服装”--“夏日”显示正常,“服装”乱码!实际上这个只是显示乱码,因为我用命令修改了它的显示编码方式之后,数据显示正常了,但是网页又不正常了;不修改,网页还是可以正常显示中文的!这个就令我头疼了现在问题解决了,总结一下记录,若有不准确,还请指教,谢谢!

解决:

  1)思路:发生乱码的情况可能由以下几个情况引起:

    (1)编辑文件保存时的编码方式与打开时的编码方式不一致--打开文件显示编码,但是我觉得应该是不影响文件运行的;

    (2)文件显示设置的编码方式与创建数据库时候数编码方式不同--文件运行之后显示乱码或者数据库乱码

    (3)文件显示设置和数据库设置的编码有部分不同--可能出现上述我出现的情况

 【面对第一种情况:用原来的编辑器重新保存一次为utf8;第二种情况:用alter命令修改数据的编码方式,或者将数据库删了重新导入】

  2)原理:

  在MySQL数据库中默认的编码是Latin1,是不支持中文的,要支持中文就需要将数据库的默认编码方式修改为utf8或者gbk。

  先查看一下数据库的编码方式情况:show variables like ‘character%‘;显示如下【这个显示是我已经修改为utf8】:

  技术分享

  或者使用:show variables like ‘collation%‘;查看数据库编码

  技术分享

  只要保证上面三个connection、database、server三个的编码方式一样就不会乱码了!

  3)解决方法:

  打开MySQL的配置文件:mysql.ini,修改两个地方:

  default-character-set=xxx--修改数据库默认字符集编码方式,但是却并不包括数据库服务器编码方式【即不含:collation_server】

  character-set-server=xxx--修改数据库服务器的编码方式

  只需要将两者修改为一样的utf8或者gbk就可以了!【对于不同字符,utf8和gbk所占用的储存空间是不一样的,详情可谷歌】

  技术分享

  对于数据库字符集编码方式的一些命令,大家可以看看博主“血色残阳专栏”的这篇文章,里面都有讲到!

  友情链接:http://blog.csdn.net/wangjun_pfc/article/details/3827631http://blog.csdn.net/wangjun_pfc/article/details/3827631

 

MySQL数据库“局部”乱码

标签:

原文地址:http://www.cnblogs.com/lms520/p/4656374.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!