A-A+
ecshop用户输入存储乱码的问题
在制作新的 ecshop 模板时,因为 diy 的需要,往往会多出一些新的字段来,当用户提交这些新的字段到数据库中却变成了乱码,经过分析,原来所有提交的材料都经过了 htmlentities 的处理,也就是防止 js 代码的恶意输入,虽然看上去没什么问题,但却产生了乱码,所以只能修改这个字段了,下面的方法是小虎博客在网上找寻的方法,修改后成功解决乱码的问题,下面看一下方法。
打开 /includes/lib_passport.php 文件,找到如下代码:
$other[$key] = htmlentities($val); //防止用户输入javascript代码
将其修改如下:
$other[$key] = htmlspecialchars($val); //防止用户输入javascript代码
接着修改另一个文件 /includes/lib_transaction.php,打开后找到如下代码:
$profile['other'][$key] = htmlentities($val); //防止用户输入javascript代码
修改为如下:
$profile['other'][$key] = htmlspecialchars($val); //防止用户输入javascript代码