ajax不支援多種字符集,它預設的字符集是utf-8,所以在應用ajax技術的程式中應及時進行編碼轉換,否則對程式中出現的中文字元將變成亂碼。
一、傳送請求是出現亂碼
將資料提交到伺服器有兩種方法,一種是使用get方法提交;另一種是使用post方法提交。
(1)當接收使用get方法提交的資料是,要將編碼轉換為gbk或者gb2312.
例如:將省份名稱的編碼轉換為gbk的**如下:
string selprovince=request.getparameter("parprovince");//獲取選擇的省份
selprovince=new string(selprovince.getbytes("iso-8858-1"),"gbk");
(2)由於應用post方法提交資料時,預設的字元編碼是utf-8,所以當接收使用post方法提交的資料是,要將編碼轉換為utf-8。
例如:將使用者名稱的編碼轉換為utf-8的**如下:
string username=request.getparameter("user");//獲取使用者名稱
username=new string(username.getbytes("iso-8858-1"),"utf-8");
二、獲取伺服器的響應結果時出現中文亂碼
由於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的時候肯定都遇到過中文亂碼的問題,我也不例外,這個問題困 擾我的時間也不短,後來我總算時把它搞清楚了 ajax使用的是另外乙個執行緒,所以它的字 符編碼是和頁面無關的,也就是說,它總是用gb2312編碼向伺服器傳送資料,並且總是把接 受到的資料當gb2312來理解,這是由我們...