Skip to main content
 首页 » 编程开发

利用form的“accept-charset” 解决utf-8提交表单到gb2312页面乱码问题

16年前 (2009-08-22)196470

我们在UTF-8、GB2312、GBk不同编码页面进行表单提交时,如果不做特殊处理,经常会出现乱码问题。这种情况往往需要编码,但是有些情不得已我们可能无法控制接收方或者发送方的编码问题,现在介绍一个最方便的解决的方案。

解决方案:

在W3C里介绍了一个 form 不太常见的属性: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>

剩下的工作交给浏览器搞定了。

同理UTF-8编码页面提交到GB2312表单,把上面的utf-8 改成gb2312就可以了。

 

评论列表暂无评论
发表评论
新浪微博
微信