将想法与焦点和您一起共享

网站建设中提交表单获取表单数据乱码解决方法发布者:本站     时间:2020-05-16 08:05:08

我在做一个调查问卷的页面,要发送到客户邮箱,以完成调查,但今天在测试时发现,通过

<formaction="…"method="post"id="form1"target="_blank"name="form1">



</form>

这种方法提交表单,然后在我的站点下获取表单后,获取的数据都是乱码.心中很是纳闷,.

莫非是编码原因?

喜欢刨根问底的我继续寻找问题..

我在后台获取数据页面里进行了utf-8转成gb2312的转换,,哦忘了说了,我是发给163邮箱滴.

但是结果仍然是乱码.

我想到了抓包工具..分析了下.发现了

Accept-Encoding这么一个代码..

于是Google好久.

原来163对对post的数据进行了Gzip压缩.

貌似.NET里面有对Gzip解压的类..找了很久..

未果。。

仔细回想下..我这种提交时方式相当于在不同的编码方式下提交表单(因为Accept-Encoding也是种编码方式)

在vs2008里的<form>标签下敲了下回车发现了一个属性.accept-charset

这个属性可以实现在不同的编码页面下提交表单.

娘呀.算是找到救星了.

<formaction="result.aspx"accept-charset="utf-8"method="post"id="form1"target="_blank"name="form1">



</form>

在IE下还是会有乱码.上面这种写法是W3C标准的写法,在符合W3C标准的浏览器下不会出现乱码

IE下这样写

<formaction="result.aspx"accept-charset="utf-8"onsubmit="document.charset='utf-8';"method="post"id="form1"target="_blank"name="form1">



</form>



选择我们,优质服务,不容错过
1. 优秀的网络资源,强大的网站优化技术,稳定的网站和速度保证
2. 15年上海网站建设经验,优秀的技术和设计水平,更放心
3. 全程省心服务,不必担心自己不懂网络,更省心。
------------------------------------------------------------
24小时联系电话:021-58370032