首页 > 聚焦开源 > dedecms的乱码问题,及其解决方案

dedecms的乱码问题,及其解决方案

问题描述:在IE中,无论是在dedecms后台添加栏目,还是在前台发表文章,只要其中包含中文,都会出现乱码。而在firefox下一切正常。
问题分析:

1.dedecms没问题,可能是因为IE做了某些设置,导致中文不能被正确识别。但是http://www.yuluyu.com,在IEfirefox对于中文一切正常。http://www.lutuzhi.comIEfirefox很正常。所以排除了IE设置引发问题的可能性。
2. 应该是dedecms程序的问题,google了一把、百度了一下,发现只有一个人提到过类似的问题,而且没人给出答案。而且firefoxdedecms又是正常的,所以也不能把这问题全归结在dedecms身上。毕竟这个系统经过多年发展,很多用户的使用已经比较稳定了。

至此陷入了僵局,本打算就此放弃研究。不甘心,用ZEND STUDIO跟了一下,发现dedecms输入的简体中文在POST的时候已经是乱码了。

数据从前段输入到存储至数据库可以简化为下面三步:

1.数据输入(dedecms界面)
2.数据传输
3.数据存储

现在数据在POST的瞬间被做了一次转换,而这个转换肯定不是dedecms做得。

那么问题至此有了眉目,在乱码这个问题上,dedecms不是罪魁祸首。出现乱码肯定是它在编码时没处理好,但是不全怪它。

解决方案:

那么到底是谁偷偷做了编码转换?问题应该出在IE或者它的插件上。

原来我的IE上有一个插件,是用来做繁简体转换的-alibabar。它有个选项叫:将送出的表格文字自动做繁简体转换。如下图:

导致乱码的选项

导致乱码的选项

正是这个小软件做的编码转换,也是它导致dedecms在ie下不能正确处理简体中文。把该选项勾掉,一切正常了。

至此dedecms乱码的问题得到了解决,但是我还有一个疑问:

为什么同样的环境下其余两个网站没问题:
http://www.yuluyu.com-基于uchome
http://www.lutuzhi.com -基于wordpress

具体原因没仔细去分析,不过我认为dedecms在编码处理方面可以借鉴康盛创想的做法,那是一个更加成熟的解决方案。

  1. 2010年7月29日14:51 | #1

    如果游客在访问你的网站,因为是乱码怎么办?肯定不能要求游客设置他们自己的IE吧??

    呵呵。。我修改的dede有一个页面不管在什么浏览器中都是乱码,很苦恼啊。。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.

注意:
评论者允许使用'@user:'的方式将自己的评论通知另外评论者。
例如, ABC是本文的评论者之一,则使用'@ABC:'(不包括单引号)将会自动将您的评论发送给ABC。
user必须和评论者名相匹配,区分大小写。

SEO Powered by Platinum SEO from Techblissonline