首頁  >  文章  >  web前端  >  不同編碼的頁面表單資料亂碼問題解決方法_javascript技巧

不同編碼的頁面表單資料亂碼問題解決方法_javascript技巧

WBOY
WBOY原創
2016-05-16 16:13:55980瀏覽

今天遇到一個很神奇的問題,用戶告訴我這邊網站上的表單提交到查詢系統之後得不到返回值,查詢結果是0條記錄,但是再本地純html執行的結果卻能搜索到值。自己驗證了下,果然如此,而且比對兩邊GET提交的參數,除了有個字段的值不同外,參數個數這些都是相同的,故考慮有可能是編碼問題造成的影響。

分別開啟兩個檔案後查看,發現兩邊編碼確實不一致,而伺服器那邊為GB2312,傳遞UTF-8編碼的參數過去不能正常解析出來,故放狗搜索,查找到form上一個很少用的屬性。

複製程式碼 程式碼如下:

accept-charset=”gb2312″

這個屬性很有意思,可以設定表單以什麼編碼來編碼內容,所以,給form 加上這個屬性,就好了。

不過很噁心的,IE對這個屬性不支持,於是只好對表單的onSubmit()方法進行下hack,加上

複製程式碼 程式碼如下:

onsubmit=”document.charset='gb2312′;”

問題徹底解決。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn