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类中的两个方法
1.复制一份儿框架中的中文语言包出来改为gbk编码,放在protected/messages,然后配置文件的components段中加入
然后config/main.php中加入
4.修改CHtml类:
CHtml类使用了htmlspecialchars来格式化输出,但htmlspecialchars不支持gbk编码。
当然,你可以把htmlspecialchars的编码去掉,但php5.4这样做时,就会没有输出。
一共改两个方法,一个是encode,还有一个encodearray
如果你使用了apc的话,请修改框架目录中yiilite.php中对应的两个方法。
如果你不使用apc的话,并且像我一样不愿意修改框架本身,可以把Chtml复制一份出来然后使用Yii的classmap来自定义这个类的路径。然后在入口文件处来定义,例如我的:
相关文章推荐
- Yii2.0在PHP5.4中的request兼容解决
- PHP兼容utf-8和gbk两种编码方式剪切函数
- PHP Yii开源框架入门学习(二)修改Yii网站访问路径
- php5.4以上运行yii框架出现问题的解决方法
- eclipse默认编码为GBK,修改为UTF8的方法
- gbk编码的简介以及针对gbk文本飘红截断原理以及实现
- php开发--yii2框架内错误调试总结
- PHP截断标题且兼容utf8和gb2312编码
- PHP开发框架之YII框架学习——碾压ThinkPHP不是梦
- eclipse默认编码为GBK,修改为UTF8的方法ZZ 分类: Android安装及配置 2014-11-19 09:48 58人阅读 评论(0) 收藏
- 深入解析PHP的Yii框架中的缓存功能
- PHP Yii开源框架入门学习(四)添加新模块
- php截取字符串之截取utf8或gbk编码的中英文字符串示例
- android 项目编码修改, GBK 变UTF-8
- ecshop针对PHP5.6.26的修改
- upupw套件(php7.0+a+m)windows环境下搭建YII框架
- android 项目编码修改, GBK 变UTF-8
- ci框架的 mimes.php 文件小修改
- PHP的Yii框架中移除组件所绑定的行为的方法
- 详细解读PHP的Yii框架中登陆功能的实现