Ajax技術之解決中文亂碼問題

2021-07-31 16:37:26 字數 951 閱讀 8474

ajax不支援多種字符集,它預設的字符集是utf-8,所以在應用ajax技術的應用程式中應及時進行編碼轉換,否則對於程式中出現的中文字元將變成亂碼。一般情況下,有以下兩種情況可以產生中文亂碼。

1、傳送請求時出現中文亂碼

將資料提交到伺服器有兩種方法,一種是使用get方法提交,另一種是使用post方法提交。使用不同的方法提交資料,在伺服器端接收引數時解決中文亂碼的方法是不同的。具體解決方法如下。

(1)當使用get方法提交資料時,要將編碼轉換為gbk或是utf-8。

例:將省份名稱的編碼轉換為utf-8的**如下:

string selprovince = request.getparameter("parprovince");

selprovince = new string(selprovince.getbytes("iso-8859-1"),"utf-8");

(2)由於應用post方法提交資料時,預設的字元編碼是utf-8,所以當接收使用post方法提交的資料時,要將編碼轉換為utf-8,。

例:將使用者名稱的編碼轉換為utf-8的**如下:

string username = request.getparameter("user");

username = new string(username.getbytes("iso-8859-1"),"utf-8");

2、獲取伺服器的響應結果時出現中文亂碼

由於ajax在接收responsetext或respon***ml的值時是按照utf-8的編碼格式進行解碼的,所以如果伺服器端傳遞的資料不是utf-8格式,在接收responsetext或respon***ml的值時,就可能產生亂碼。解決的辦法是保證從伺服器端傳遞的資料採用utf-8的編碼格式。

Ajax中文亂碼問題

注意兩個問題 1 頁面 window.nl ad function 以上 表示在頁面載入完畢之後執行的ajax。並且在檔案都設定為utf 8格式,如 contenttype text html charset utf 8 pageencoding utf 8 2 後台 在傳送之前加上 respons...

Ajax 中文亂碼問題

ajax中文資料亂碼問題。1 向伺服器傳送請求資料在伺服器端必須經過內碼轉換才行。轉換 string value request.getparmater key value new string value.getbytes iso8859 1 gbk value已經由預設內碼轉換位gbk了 我遇到...

ajax中文亂碼最終解決,網頁亂碼問題心得

用過ajax的人都會碰到中文亂碼,網上基然有很多方法,但看完之後,很多人仍然解決不了亂碼問題,為什麼有的網頁始終都會返回亂碼,不管怎麼設定呢?本人經研究終於解決,其實是個很原理的問題,但因為現在不知道底層原理而做高階應用是主流人群,所以會有很多人不知道,包括我自己.說到網頁的編碼,要分兩分部分,一部...