1. 程式人生 > >客戶端傳遞到伺服器端後資料顯示為亂碼的解決辦法

客戶端傳遞到伺服器端後資料顯示為亂碼的解決辦法

當通過頁面提交的方式,或者通過AJAX的方式將客戶端使用者的輸入資料傳遞到後臺頁面進行處理的時候,非常有可能會出現後臺獲取到的中文輸入或者一些其他怪異字串變為“????”或其他亂碼的問題,這個時候,如果你檢視站點的Web.config檔案的話,在這個欄位<globalizationrequestEncoding="gb2312"responseEncoding="gb2312"/>中使用的,很有可能是gb2312,如果修改為UTF-8,或者在使用AJAXSend方法的時候,為資料頭新增utf-8編碼格式的話,都可以解決問題,如下:setRequestHeader('Content-Type'

, 'application/x-www-form-urlencoded; charset=utf-8');,但是,作為全域性的編碼設定,如果修改的話,則很可能造成整個站點的很多頁面的編碼都會出現亂碼現象,後者,簡單修改AJAX傳送方法,雖然可以解決問題,但是,不排除也會出現對其他地方的影響。

這個時候,如果你使用的是AJAX方法的話,那麼建議在拼組資料字串的時候,為每一個頁面控制元件內容進行一次十六進位制編碼,也就是使用javascriptescape()方法,這樣就可以不用修改任何地方;同樣,如果你屬於前者的話,那麼建議修改站點的全域性編碼格式吧,暫時沒有更好的方法。