找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 10554|回复: 1

利用form的“accept-charset”在不同编码的页面间提交表单

[复制链接]
发表于 2009-11-30 23:29:01 | 显示全部楼层 |阅读模式 IP:江苏扬州
http://lengj.javaeye.com/blog/376783
accept-charset
一个很少用到的表单属性,利用它实现在不同编码的页面里实现表单的提交也是一种很方便的解决方法。转自老王的baidu空间,记录在此。


问题背景:

两个应用编码不同,一个是GBK编码,另一个是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>

剩下的工作浏览器会搞定。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-10-1 12:51 , Processed in 0.234184 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表