虛擬主機域名注冊-常見問題網絡編程問題CSS/HTML

form提交不同utf8 gb2312編碼的數據亂碼

今天要給某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~~大功告成



來源:
閱讀:823
日期:2017-10-27

【 字體: 】 
上一篇:PHP內置大小寫轉換函數
下一篇:js實現省市區縣三級聯動 可自定義初始值
  >> 相關文章
  沒有相關文章。
發表評論

字數0
請輸入驗證碼:


  • 尊重網上道德,遵守中華人民共和國的各項有關法律法規
  • 承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
  • 本站管理人員有權保留或刪除其管轄留言中的任意內容
  • 本站有權在網站內轉載或引用您的評論
  • 參與本評論即表明您已經閱讀并接受上述條款
網友評論
沒有相關評論。
會員 客服 QQ 電話 充值 工單
Top

24小時客服熱線

①18036323215

②18036323215

咨詢售后問題請進入 工單提問

海南飞鱼游戏技巧