您的位置:首页 > 其它

解决不同编码的页面之间传值乱码的问题

2016-03-05 17:47 351 查看
情况是酱紫的:

我的工程是UTF-8编码的,我需要传值给第三方页面,而这个第三方页面是GB2312编码的。

浏览器会对GET与POST传值进行编码,而这个编码的方式是根据:<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,指定的页面编码来进行的。

而我将采用GET方式传值到第三方页面。

显而易见的,这会出现问题,我传递过去的参数是通过UTF-8编码,而第三方页面的服务器是按照GB2312的编码来转码,自然会乱码。

如何解决这个问题?

对于IE,可以临时设置document.charset 为GB2312,参数提交之后则还原为UTF-8。

对于FF,无document.charset属性,有document.characterSet属性,但对它设置值却无效。那FF如何解决?因为我是用的form提交,那就好说了,设置form的 accept-charset 属性。临时将accept-charset属性设置为GB2312,提交完毕之后再还原。(还有一种解决方案是通过IFrame,IFrame能不用则不用,我就不多说了。)

下面是我工程中的一段代码,大家可略作参考,捡From提交那段看就行了:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: