[编码] IE浏览器 不支持 表单中的 accept-charset 属性
场景描述:在做X项目中PC收银台模块时,需要与某集团A对接,集团A后台拼表单提交请求到PC收银台,由于家居的项目编码是GB2312,我们这边用的是UTF-8,在请求过程中,我们这边接到的参数是乱码。这只是在IE浏览器会存在这样的问题,在火狐等其他浏览器上没有问题。
解决办法:经多次试验,并问度娘发现,是IE浏览器不支持表单的accept-charset属性,需要给表单重新设置charset属性。先是将document.forms['Payment'].submit() 和 document.charset='utf-8' 放在一起,不管用。因为js脚本并非你想的那样,我先放哪一程序语句,就会先被执行。后又先插入document.charset='utf-8' 再插入document.forms['Payment'].submit() 好吧。问题解决。


总结:
1. IE浏览器不支持accept-charset属性,需要再文档加载的过程中利用js重新设置它。
2. js脚本执行顺序并不是根据程序语句在文档中的顺序执行的。(弱语言的缺点)
真正的大师永远怀着一颗学徒的心。

浙公网安备 33010602011771号