您的位置:首页 > 移动开发 > 微信开发

iphone微信分享链接时出现乱码的解决方法

2015-09-19 00:09 573 查看
最近做一个微信的小项目,测试的时候发现iphone版的微信分享网页或者分享到朋友圈时描述文字都变了乱码,安卓的微信分享倒没有这样的问题,最后问题解决了,分享一下我解决问题的过程。

一开始我以为是页面编码的问题,但是仔细研究了一下,乱码部分只跟js有关,比如alert()输出乱码,有关微信jssdk调用的部分都变了乱码了,分析到问题所在已经解决了问题的大半了。接下来百度了一下js乱码的原因:

可能原因一:

javascript如果是写在一个文件里面进行的调用,可能是因为js的编码和我们的HTML编码不一致。

解决方案:

在html中引入javascript代码时,指定其字符集为gb2312,即可显示中文。代码如下:

<script charset="gb2312" language="javascript" type="text/javascript" src="ntkoocx.js"></script>

可能原因二:

HTML网页的编码格式不支持显示中文。

解决方案:

在html代码的头部中加入一个属性设置,指定html代码的编码格式为utf-8,即可支持中文显示。代码如下:

<html meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

以上是我在百度经验看到的解决方法,我首先改了头信息,发现没有效果,依然乱码= 。=,接着改引入js文件的charset属性,问题依旧。。
此时我接着百度,终于找到了,解决方法,在此贴上

问题原因在于你的jsp的页面编码格式和js的编码格式不一致导致的,解决办法如下

1:查看jsp页面page指令中的编码格式,是UTF-8或者GBK,在选中js文件,右键,属性,查看字符编码,改为与jsp页面字符编码相同的,点击确定即可

注意:此种方式会导致js文件中原有的中文变为乱码,重新写一次中文即可

2:选中js文件,右键,属性,查看字符编码,记住后确定;打开jsp文件,修改jsp文件的page执行中的pageEncoding,将其字符编码与js保持一致即可

看到这里,我已经大概猜到了,查看一下js文件的编码格式,果然是ANSI!改成utf-8之后分享终于正常了

好了,问题解决了,原来是js文件编码的问题,估计是iphone微信浏览器不会把ansi编码的文件自动转换,以后大家遇到这类问题可以参照此思路解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: