问答中心 > 电脑/网络 > 网络编程 > dedecms 系统配置参数 输入中文保存后为空

dedecms 系统配置参数 输入中文保存后为空

1人回复
悬赏分:5 | 浏览次数:351 | 提问者:duduyu 解决时间:2014-11-14 21:51
dedecms 系统配置参数 输入中文保存后为空
最佳答案

你可能现在的php5.4以上的版本,htmlspecialchars输出中文为空的问题,原来默认是ISO-8859-1,5.4后默认变成utf-8!然后中文使用这个函数就输出为空白了。

从旧版升级到php5.4,最麻烦的就是htmlspecialchars这个问题了!可能老外认为网页普遍应该是utf-8编码的,于是苦了那些用GB2312,GBK编码的中文站。

解决方案:

方法一、苦逼的修改所有用到htmlspecialchars($str)函数地方的程序
  1.1、GB2312修改成:htmlspecialchars($str,ENT_COMPAT,'GB2312');
  1.2、GBK则必须要修改成:htmlspecialchars($str,ENT_COMPAT,'ISO-8859-1');

方法二、封装一个函数,批量替换效率高
  2.1、批量替换所有“htmlspecialchars(”为“htmlspecialchars_GBK(”。
  2.2、打开/include/common.inc.php文件在最后面加入以下函数:
//GXCMS自定义函数封装
function htmlspecialchars_GBK($str) {
    return htmlspecialchars($str,ENT_COMPAT,'ISO-8859-1');
}

这样就能解决php5.4版本后输出中文为空的问题了。

 

0% (0)
0% (0)
目前有 0 个人评价 | 回答时间:2014-11-14 21:50

回答者: ihong | 上尉 | 采纳率:21%

擅长领域: 广信之家 设计生活

参加的活动: 暂时没有参加的活动

提问者对于答案的评价:

我来回答这个问题

回答即可得2分,回答被采纳则获得悬赏分以及奖励20分。

duduyu 班长

注册时间: 0