今天在用Zend Framework 1.9.8 的时候,发现页面输出的总是乱码,数据库的字段编码、文件编码、HTML输出编码都统一为了utf-8,居然还会出现乱码,相当晕。。。
通过排查发现是从数据库中读数据的时候出现了乱码,但是我已经按照ZF的方式在配置文件application.ini 中添加了语句resources.db.charset = utf8 却还是不行,于是我试着在Model 里面加入语句die(var_export(self::$_defaultDb->getConfig())) 进行调试,发现配置数据中的charset 居然是NULL ...
后来我想跟踪源码看看是在哪一步把这个值给丢了,无奈ZF过于庞大、加上没有好的跟踪方法,只能放弃...
最后我是在Model 类里面的init 方法中加入了手动指定字符编码的语句才得以解决。。。
本文介绍了在使用Zend Framework过程中遇到的页面输出乱码问题及解决方案。作者发现即使配置文件已设置字符集为utf8,从数据库读取的数据仍出现乱码。最终通过在Model类的init方法中手动设置字符集解决了该问题。

被折叠的 条评论
为什么被折叠?



