您的位置:首页 > 编程语言 > PHP开发

Yii框架针对gbk编码的修改,CHtml可用,兼容php5.4

2014-04-09 15:57 399 查看
如果你的Yii框架不得已要使用gbk编码,你要做的有四件事:

1.复制一份儿框架中的中文语言包出来改为gbk编码,放在protected/messages,然后配置文件的components段中加入

2.复制一份儿框架中的i18n中关于中文的文件改为gbk编码,放在protected/i18n/data下

然后config/main.php中加入

3.复制一份儿框架中的views/exception.php到protected/views/system,改一下里面的编码为gbk,默认是utf8,否则调试页面就乱码了。

4.修改CHtml类:

CHtml类使用了htmlspecialchars来格式化输出,但htmlspecialchars不支持gbk编码。

当然,你可以把htmlspecialchars的编码去掉,但php5.4这样做时,就会没有输出。

一共改两个方法,一个是encode,还有一个encodearray

如果你使用了apc的话,请修改框架目录中yiilite.php中对应的两个方法。

如果你不使用apc的话,并且像我一样不愿意修改框架本身,可以把Chtml复制一份出来然后使用Yii的classmap来自定义这个类的路径。然后在入口文件处来定义,例如我的:

下面是要修改的CHtml类中的两个方法

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: