2023-05-21 分类: 网站建设
成都网络公司在做一个客户咨询留言的页面,要发送到客户邮箱,但今天在测试时发现,通过
<form action="…" method="post" id="form1" target="_blank" name="form1">
…
</form>
这种方法提交表单, 然后在我的站点下获取表单后,获取的数据都是乱码,感觉很奇怪?
分析提交表单到邮箱数据乱码的原因是什么呢?
成都网站建设在后台获取数据页面里进行了utf-8转成gb2312的转换,但是结果仍然是乱码。
我想到了抓包工具.分析了下.发现了
Accept-Encoding 这么一个代码..
于是BAIDU了下, .
原来邮箱对post的数据进行了Gzip压缩.
貌似.NET里面有对Gzip解压的类。
仔细回想下,我这种提交时方式相当于在不同的编码方式下提交表单(因为Accept-Encoding 也是种编码方式)
在vs2008里的<form>标签下敲了下回车 发现了一个属性.accept-charset
这个属性可以实现在不同的编码页面下提交表单.
<form action="result.aspx" accept-charset="utf-8" method="post" id="form1" target="_blank" name="form1">
…
</form>
在IE下还是会有乱码,上面这种写法是W3C标准的写法,在符合W3C标准的浏览器下不会出现乱码
IE下这样写
<form action="result.aspx" accept-charset="utf-8" onsubmit="document.charset = 'utf-8';" method="post" id="form1" target="_blank" name="form1">
…
</form>
再次测试发送邮件,测试成功!
新闻名称:分析提交表单到邮箱数据乱码的原因
文章转载:https://www.cdcxhl.com/news19/260319.html
成都网站建设公司_创新互联,为您提供营销型网站建设、外贸建站、网站排名、关键词优化、做网站、网站收录
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联
猜你还喜欢下面的内容