- <formmethod="post"action="..."accept-charset="utf-8"utf-8';">
- ...
- </form>
问题背景:
两个应用编码不同,一个是GBK编码,另一个是UTF-8编码。现在要在GBK编码的应用里使用表单向UTF-8编码的应用里提交数据,很显然,如果不做特殊处理的话,会出现乱码。
解决方案:
当然了,可以自己使用ICONV或者MB扩展来转换编码,但这不是我们要的。
在W3里介绍了一个不太常见的属性:accept-charset,用它可以完成我们的需求。
在GBK编码的页面里编写如下代码:
如此的代码在Firefox等正常的浏览器下没有任何问题,但是遇到IE这个变态浏览器就不灵光了,我们还得用点不入流的手段Hack一下:
剩下的工作浏览器会搞定。
两个应用编码不同,一个是GBK编码,另一个是UTF-8编码。现在要在GBK编码的应用里使用表单向UTF-8编码的应用里提交数据,很显然,如果不做特殊处理的话,会出现乱码。
解决方案:
当然了,可以自己使用ICONV或者MB扩展来转换编码,但这不是我们要的。
在W3里介绍了一个不太常见的属性:accept-charset,用它可以完成我们的需求。
在GBK编码的页面里编写如下代码:
- <formmethod="post"action="..."accept-charset="utf-8">
- ...
- </form>
剩下的工作浏览器会搞定。
本文介绍如何使用HTML的accept-charset属性解决不同编码系统间的表单提交乱码问题,尤其针对GBK与UTF-8编码之间的兼容性挑战。
330

被折叠的 条评论
为什么被折叠?



