• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

小程序安卓渲染问题

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

最近在做微信小程序,在测试的时候遇到一个奇怪的问题,请求的数据无法渲染,数据请求成功了,但是页面上没有响应。微信开发工具上,和苹果手机上测试是好好的,就安卓出现了问题,还是ios系统厉害些。出了问题,一脸的懵逼,咋办!搜呗。微信小程序,就老老实实上百度吧。输入‘微信小程序 安卓 渲染’,我去还真有,看样子是安卓的老毛病。这里截个图给大家看看,问题是一样的。

看到这篇关于微信小程序综合社区的问答,估计八九不离十,是这个“\ufeff”的问题,也就是代码是编码格式问题,utf8和utf8无bom。这个问题别人是解决了的,那就完全不是问题了,。我也来试试看,在微信这边的js也像这样过滤下,麻蛋,小程序jscore好像不支持str.replace(),直接报错了,前面这个人感觉有点坑人啊,不说清楚,我就试试在后端拿数据的时候就直接过滤掉“\ufeff”,试了好多次还是不行。调试蛮浪费时间的,大多数时候,怼着问题好长时间都没有解决的话,我们应该适当的把它放一放。

后来,终于在在小程序综合社区找到了,可以说的官方的解答:官方的加密数据解密算法PHP – SDK里的三个文件有带BOM头,要去除。简直完美,在这里我也记录下终极的解决方法。

 

官方解释:近日有发现类似问题的都是因为返回的数据是 UTF-8 with BOM(即数据的开头是一个不可见字符 unicode 65279),Android 平台没有自动过滤,导致 JSON.parse 失败。目前需要开发者自行兼容,下个版本 Android 会过滤此字符。

 

附上链接:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=2484

 

将下面的代码保存为php文件,在站点的根目录下运行即可。

 

if (isset($_GET[‘dir’])){ //config the basedir

$basedir=$_GET[‘dir’];

}else{

$basedir = ‘.’;

}

 

$auto = 1;

 

checkdir($basedir);

 

function checkdir($basedir){

if ($dh = opendir($basedir)) {

while (($file = readdir($dh)) !== false) {

if ($file != ‘.’ && $file != ‘..’){

if (!is_dir($basedir.”/”.$file)) {

echo “filename

$basedir/$file “.checkBOM(“$basedir/$file”).” <br>”;

}else{

$dirname = $basedir.”/”.$file;

checkdir($dirname);

}

}

}

closedir($dh);

}

}

 

function checkBOM ($filename) {

global $auto;

$contents = file_get_contents($filename);

$charset[1] = substr($contents, 0, 1);

$charset[2] = substr($contents, 1, 1);

$charset[3] = substr($contents, 2, 1);

if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) {

if ($auto == 1) {

$rest = substr($contents, 3);

rewrite ($filename, $rest);

return (“<font color=red>BOM found, automatically removed.</font>”);

} else {

return (“<font color=red>BOM found.</font>”);

}

}

else return (“BOM Not Found.”);

}

 

function rewrite ($filename, $data) {

$filenum = fopen($filename, “w”);

flock($filenum, LOCK_EX);

fwrite($filenum, $data);

fclose($filenum);

}

现在看来,问题是小问题;但解决不了就是大问题了,平时还是多看看官方的论坛,社区。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序使用wxParse解析html发布时间:2022-07-18
下一篇:
微信小程序开发中遇到的坑发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap