DEDE里有个编码问题,不支持PHP5.4及以上版本!

时间:2023-03-08 17:46:52

公司新配置服务器,没有PHP环境,下载了个PHP5.5.25,配置完毕后,从另外一个服务器转移了一个DEDECMS做的网站,安装后,进入后台,恢复数据发现参数设置里的文本框,只要是中文信息,没有显示,或者新添加的中文信息没有显示,查找原因,DEDE中有些字符串在经 htmlspecialchars 函数转义之前正常,而在转义之后却变成了空字符串。PHP 从 5.4.0 版本开始第三个参数字符串编码的默认值改成了 UTF-8,而DEDE代码中的中文编码正好是 GB2312 编码的,跟现在的默认参数不一致,

解决方法:

一、可以把服务器重新配置到 PHP5.4以下的版本;

二、可以为了与旧环境兼容,在用到htmlspecialchars的时候,这样处理:

$str_converted = htmlspecialchars($str, ENT_COMPAT ,'GB2312')