会员中心 会员中心  付款方式 付款方式  代理加盟 联系我们  有问必答  全国免费热线:020-82162885
用户名: 密码: 验证码:     
 



提交表单获取表单数据乱码解决方法


http://www.okit88.com    发布日期:2011-10-27 9:04:45    浏览次数:2898     < 返回 >
<P> 我在做一个调查问卷的页面,要发送到客户邮箱,以完成调查,但今天在测试时发现,通过<BR>&lt;form action="…"&nbsp; method="post" id="form1" target="_blank" name="form1"&gt;<BR>…<BR>&lt;/form&gt;<BR>这种方法提交表单, 然后在我的站点下获取表单后,获取的数据都是乱码.心中很是纳闷,.<BR>莫非是编码原因?<BR>喜欢刨根问底的我继续寻找问题..<BR>我在后台获取数据页面里进行了utf-8转成gb2312的转换,,哦忘了说了,我是发给163邮箱滴.<BR>但是结果仍然是乱码.<BR>我想到了抓包工具..分析了下.发现了<BR>Accept-Encoding 这么一个代码..<BR>于是Google 好久 .<BR>原来163对对post的数据进行了Gzip压缩.<BR>貌似.NET里面有对Gzip解压的类.. 找了很久..<BR>未果。。<BR>仔细回想下..我这种提交时方式相当于在不同的编码方式下提交表单(因为Accept-Encoding 也是种编码方式)<BR>在vs2008里的&lt;form&gt;标签下敲了下回车 发现了一个属性.accept-charset<BR>这个属性可以实现在不同的编码页面下提交表单.<BR>娘呀.算是找到救星了.<BR>&lt;form action="result.aspx" accept-charset="utf-8" method="post" id="form1" target="_blank" name="form1"&gt;<BR>…<BR>&lt;/form&gt;<BR>在IE下还是会有乱码.上面这种写法是W3C标准的写法,在符合W3C标准的浏览器下不会出现乱码<BR>IE下这样写<BR>&lt;form action="result.aspx" accept-charset="utf-8" onsubmit="document.charset = 'utf-8';"&nbsp; method="post" id="form1" target="_blank" name="form1"&gt;<BR>…<BR>&lt;/form&gt;<BR></P>
 
www.vcitv.com
www.chineseap.com
www.bestzs.com
www.591114.com
www.pyvip.com