存档

文章标签 ‘firefox’

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

2009年3月21日 路途志 1 条评论

问题描述:在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在编码处理方面可以借鉴康盛创想的做法,那是一个更加成熟的解决方案。


SEO Powered by Platinum SEO from Techblissonline