用form提交不同编码的数据

By , 2010/01/28 - 675,180 views

今天要给某phpwind论坛调整用户登录方式,颇为棘手。该系统结构较为复杂(历史原因),gbk编码的ucenter;utf-8编码的phpcms;gbk编码的phpwind论坛;通行证系统使用我们开发的ucenter扩展登录系统来兼容phpwind论坛。原来论坛是没有登录的,全部跳转到通行证登录。现在要给论坛加个快速登录栏(将用论坛默认的快速登录栏),要求是激活通行证并返回所在论坛页。我们之前尽量避免不同编码的cms和论坛进行交互,所以计划开发phpwind激活ucenter的插件。

人总是想偷懒的,先试试把用户名、密码、返回地址直接交给phpcms进行登录。搞了半天它不接收,诧异了~~最后查出是要给submit按钮加上name="dosubmit" 囧~~

接着就是把数据转换编码然后提交过去(我不知道有个叫accept-charset的属性),网上找了个转编码的js函数,运行完,假的。通过搜索发现了form表单有个accept-charset属性,用来设置表单提交时的编码。哇~~幸运!

<form action="..." accept-charset="utf-8" method="post">
...
</form>

这个属性在Firefox下正常,ie下不能用,又要鄙视ie了 :-(
最后通过一个小技巧来解决了ie下不支持accept-charset的问题,就是在表单提交时改变整个页面的编码(onsubmit="document.charset='utf-8';")

<form action="..." accept-charset="utf-8" onsubmit="document.charset='utf-8';" method="post">
...
</form>

测试通过,OK~~大功告成

特发此帖,以备后用。



本文如无特别说明,均属原创,转载请注明出处!
原文链接:http://iiu.me/archives/94

共有 9 条精彩评论

  1. 苹果派3P 说道:

    学技术的就是不错啊

  2. 阿里三八 说道:

    博主我来回访

  3. 非主流美女 说道:

    呵呵,不错

  4. Anthony 说道:

    真是太厲害了,非常實用的技巧

    版主真聰明^_^

请您评论

 

健康游戏忠告:抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活
W3C 标准
[Valid RSS]
Valid XHTML 1.0 Transitional
Valid CSS!
分享
E:时间已做了选择 什么人叫做朋友 偶尔碰头 心情却能一点就通
H:因为我们曾有过 理想类似的生活 太多感受 绝非三言两语能形容
S:可能有时我们顾虑太多 太多决定需要我们去选择 担心会犯错 难免会受挫 幸好一路上有你陪我
合:与你分享的快乐 胜过独自拥有 至今我仍深深感动
好友如同一扇窗 能让视野不同 与你分享的快乐 胜过独自拥有 至今我仍深深感动 好友如同一扇门 让世界(变)开阔

无觅相关文章插件,快速提升流量