首页 > CMS建站 > 织梦DEDE > 正文

织梦二次开发-utf8下bom占用3个字节

2021-01-18 22:47:40
字体:
来源:转载
供稿:网友
问题描述:

今天一个用户,他用dedecms绑定了一个uc,但是在uc后台添加应用的时候


显示通信失败

解决办法:

经过反复查找,问题锁定在 UC后台文件夹/control/admin/app.php 这个文件第131行到135行代码
if($status == '1') {

echo 'document.getElementById(\'status_'.$appid.'\').innerHTML = "'.$this->lang['app_connent_ok'].'";testlink();';

} else {

echo 'document.getElementById(\'status_'.$appid.'\').innerHTML = "'.$this->lang['app_connent_false'].'";testlink();';

}

这里有个判断,当$status == '1'的时候,通信成功,否则通信失败,然后我echo出来,发现$status输出的是1,然后我有用var_dump函数试了下,一试发现问题所在了,结果是string(4) "1",而‘1’ var_dump之后是string(1)"1",这样显然不对了,多了这三个字节从哪里来的呢,经过反复测试,我基本确定这个问题是因为“UTF- 8编码的文件中,BOM占三个字节”,所以接下来花了些时间找他网站里面修改过的文件,花了一些时间总算找到问题文件,织梦目录下/data/common.inc.php


改成utf-8无bom,收工!
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表