thinkphp echo回的页面如何去掉BOM头 20
这个问题是使用微信公众平台的时候出现的。token始终无法验证,最终发现返回的echostr前面有三个未知字符,我估计是BOM。但是试过echo,print,exit,依...
这个问题是使用微信公众平台的时候出现的。
token始终无法验证,最终发现返回的echostr前面有三个未知字符,我估计是BOM。
但是试过echo,print,exit,依然不行,试过在thinkphp的config里去掉调试模式,去掉页面调试输出,试过改页面编码为utf8,gb2312,都不行。但是如果不用thinkphp框架,就没有前三个未知字符。
试了好几个小时了。
跪求大神指点。。。
代码:
<?php
define("TOKEN", "weixin");
class WeixinAction extends PublicAction {
public function response() {
// if (isset($_GET['echostr'])) {
// print $_GET['echostr'];
// }
$wechatObj = new wechatCallbackapiTest();
if (isset($_GET['echostr'])) {
//$wechatObj->valid();
echo $_GET['echostr'];
} else {
//echo 123;
$wechatObj->responseMsg();
}
}
}
class wechatCallbackapiTest {
//从官方文档复制的内容
}
?> 展开
token始终无法验证,最终发现返回的echostr前面有三个未知字符,我估计是BOM。
但是试过echo,print,exit,依然不行,试过在thinkphp的config里去掉调试模式,去掉页面调试输出,试过改页面编码为utf8,gb2312,都不行。但是如果不用thinkphp框架,就没有前三个未知字符。
试了好几个小时了。
跪求大神指点。。。
代码:
<?php
define("TOKEN", "weixin");
class WeixinAction extends PublicAction {
public function response() {
// if (isset($_GET['echostr'])) {
// print $_GET['echostr'];
// }
$wechatObj = new wechatCallbackapiTest();
if (isset($_GET['echostr'])) {
//$wechatObj->valid();
echo $_GET['echostr'];
} else {
//echo 123;
$wechatObj->responseMsg();
}
}
}
class wechatCallbackapiTest {
//从官方文档复制的内容
}
?> 展开
1个回答
展开全部
echostr那个只是验证URL的,原样输出就可以了,还有,你可以用编辑器去除BOM头信息,不知道你的编辑器是那种的,可否告知,把index.php入口文件的BOM用编辑器清除一下,还望贴出代码,方面寻找问题所在
追问
我确定去除了BOM头,用vim的:set bomb?检查过,包括Action文件和index.php文件都没有BOM头。但是echo输出的页面里就有BOM头,我用ultraedit检查过确实是EF BB BF,不知道为什么。。
追答
有BOM头就证明没有去除啊,去处BOM头信息以后,不可能还会出EF BB BF的,你用NOTPAD++,去除一下BOM头试试,你的那个编辑器我没用过,只用过NOTPAD++和SUB TEXT。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询