利用form的“accept-charset”在不同编码的页面间提交表单
2009-02-09 14:21
337 查看
问题背景:
两个应用编码不同,一个是GB2312编码,另一个是UTF-8编码。现在要在GBK编码的应用里使用表单向UTF-8编码的应用里提交数据,很显然,如果不做特殊处理的话,会出现乱码。
解决方案:
当然了,可以自己使用ICONV或者MB扩展来转换编码,但这不是我们要的。
在W3里介绍了一个不太常见的属性:accept-charset,用它可以完成我们的需求。
在GBK编码的页面里编写如下代码:
<form method="post" action="..." accept-charset="utf-8">
...
</form>
如此的代码在Firefox等正常的浏览器下没有任何问题,但是遇到IE这个变态浏览器就不灵光了,我们还得用点不入流的手段Hack一下:
<form method="post" action="..." accept-charset="utf-8" onsubmit="document.charset='utf-8';">
...
</form>
剩下的工作浏览器会搞定。
两个应用编码不同,一个是GB2312编码,另一个是UTF-8编码。现在要在GBK编码的应用里使用表单向UTF-8编码的应用里提交数据,很显然,如果不做特殊处理的话,会出现乱码。
解决方案:
当然了,可以自己使用ICONV或者MB扩展来转换编码,但这不是我们要的。
在W3里介绍了一个不太常见的属性:accept-charset,用它可以完成我们的需求。
在GBK编码的页面里编写如下代码:
<form method="post" action="..." accept-charset="utf-8">
...
</form>
如此的代码在Firefox等正常的浏览器下没有任何问题,但是遇到IE这个变态浏览器就不灵光了,我们还得用点不入流的手段Hack一下:
<form method="post" action="..." accept-charset="utf-8" onsubmit="document.charset='utf-8';">
...
</form>
剩下的工作浏览器会搞定。
相关文章推荐
- 利用form的“accept-charset”在不同编码的页面间提交表单
- 利用form的“accept-charset”在不同编码的页面间提交表单
- 利用form的“accept-charset”在不同编码的页面间提交表单
- 利用form的“accept-charset”在不同编码的页面间提交表单
- 利用form的“accept-charset”在不同编码的页面间提交表单
- 利用form的“accept-charset”在不同编码的页面间提交表单
- 利用form的“accept-charset”在不同编码的页面间提交表单
- Html表单提交到Servlet输出到页面乱码 Html使用的编码是UTF-8编码显示页面,之后使用form表单提交字段到Servlet中,Servlet将利用getParamer方法获得fo
- 利用html5 formdata技术将表单整个元素提交给另一个页面,异步刷新当前页面内容
- form表单多按钮提交至不同页面
- 在phpstorm中利用post方法提交form表单后,在响应页面获取不到数据的解决办法
- 一个表单form、submit提交到多个不同页面
- 用js将form表单同时提交到两个不同页面的方法
- 不同编码页面之间表单的提交方法
- 用js将form表单同时提交到两个不同页面的方法
- 如何利用Axis2+Spring实现文件上传(支持jsp页面的form表单提交),Android客户端调用
- 在不同编码的页面间提交表单
- 用js将form表单同时提交到两个不同页面的方法
- Web应用环境下不同页面之间的传值(本文暂时只讨论 form表单数据提交)
- 用js将form表单同时提交到两个不同页面的方法