萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> 不同編碼的頁面表單數據亂碼問題解決方法

不同編碼的頁面表單數據亂碼問題解決方法

 這篇文章主要介紹了不同編碼的頁面表單數據亂碼問題解決方法,本文使用一個表單不常用屬性accept-charset解決了這個問題,需要的朋友可以參考下

   

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

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

代碼如下:
accept-charset=”gb2312″
這個屬性很有意思,可以設置表單以什麼編碼對內容進行編碼,所以,給form 加上這個屬性,就好了。

 

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

代碼如下:
onsubmit=”document.charset='gb2312′;”
問題徹底解決。
copyright © 萬盛學電腦網 all rights reserved