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

网络编程 2021-07-04 21:47www.168986.cn编程入门
这篇文章主要介绍了不同编码的页面表单数据乱码问题解决方法,本文使用一个表单不常用属性aept-charset解决了这个问题,需要的朋友可以参考下

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

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

代码如下:

aept-charset=”gb2312″

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

不过很恶心的,IE对这个属性不支持,于是只好对表单的onSubmit()方法进行下hack,加上

代码如下:

onsubmit=”document.charset='gb2312′;”

问题彻底解决。

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by