微信模板消息详情页,查看附件时出现中文乱码解决

阅读: 评论:0

微信模板消息详情页,查看附件时出现中文乱码解决

微信模板消息详情页,查看附件时出现中文乱码解决

模板消息大家都知道 ,推送给你有的有详情字样,点进去可以到你服务器一个页面。

详情页面我有一个xxx.sql的文件,点开后直接就能显示内容。

不应该啊!因为上传文件时,我的编码 是UTF-8,反而出现了乱码???

可能我的微信版本低吧?不过在pc浏览器打开,就会自动分析编码,不会乱码。

接下来我将文件编码转成工ANSI或是GBK,再次测试,没有中文乱码了。得意一下。。。

可是服务器别人上传的文件编码不保证人家都是GBK啊,也有UTF-8的。这样审核经理一看就要发彪了哇!!!

于是上网搜了一下 php 如何检测文件内容的编码 ,当是utf-8的我就将其转为GBK并重新写入到文件。

有办法 ,.mb-detect-encoding.php  ,

将反复测试,发现并不能很好地检测,我UTF-8还是GBK的反而给我返回是ASCII码?

最后在网上找了一个可以用,参考如下:

 /**
* 检测文件编码* @param string $file 文件路径
* @return string|null 返回 编码名 或 null
*/function detect_encoding($file) {$list = array('GBK', 'UTF-8', 'UTF-16LE', 'UTF-16BE', 'ISO-8859-1');$str = file_get_contents($file);foreach ($list as $item) {$tmp = mb_convert_encoding($str, $item, $item);if (md5($tmp) == md5($str)) {return $item;}}return null;
}

当然检测返回如果是utf-8,我还要转一下编码,用了这个函数可以,$str:读取的文件内容,第一个item:要转为的GBK,第二个item,原字符的编码。

mb_convert_encoding($str, $item, $item);

可以用,但用了那个iconv(),反而不行,具体原因不明确,可能是内容过多吧。

本文发布于:2024-01-29 00:02:09,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170645773411260.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:乱码   中文   附件   详情页   模板
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23