当前位置:Gxlcms > JavaScript > 不同编码的页面表单数据乱码问题解决方法

不同编码的页面表单数据乱码问题解决方法

时间:2021-07-01 10:21:17 帮助过:23人阅读

今天遇到一个很神奇的问题,用户告诉我这边网站上的表单提交到查询系统之后得不到返回值,查询结果是0条记录,但是再本地纯html执行的结果却能搜索到值。自己验证了下,果然如此,而且比对两边GET提交的参数,除了有个字段的值不同外,参数个数这些都是相同的,故考虑有可能是编码问题造成的影响。

分别打开两个文件后查看,发现两边编码确实不一致,而服务器那边为GB2312,传递UTF-8编码的参数过去不能正常解析出来,故放狗搜索,查找到form上一个很少用的属性。
代码如下:
accept-charset=”gb2312″

这个属性很有意思,可以设置表单以什么编码对内容进行编码,所以,给form 加上这个属性,就好了。

不过很恶心的,IE对这个属性不支持,于是只好对表单的onSubmit()方法进行下hack,加上
代码如下:
onsubmit=”document.charset='gb2312′;”

问题彻底解决。

人气教程排行