欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript和Ajax中文亂碼吐血版解決方案

 更新時間:2009年12月21日 03:45:01   作者:  
一般來說中文亂碼用js結(jié)合escape來解決,但下面的方法是一般后臺中的一些問題,需要注意下輸出順序,先聲明編碼類型在輸出內(nèi)容是個好習(xí)慣。

今天弄了一天的Ajax中文亂碼問題,Ajax的亂碼問題分為兩種:

1. JavaScript輸出的中文亂碼,

比如:alert("中文亂碼測試");

解決的辦法比較簡單,就是把jsp里所有的charset和pageEncoding的值都設(shè)置成相同的,一般是utf-8.

2. 這第二種就是Ajax從服務(wù)器端獲得的數(shù)據(jù)出現(xiàn)亂碼的問題。(我搜了n個小時試了n中方法才找到答案)

現(xiàn)在將我搜集的比較有效的方法都與大家分享:(我使用的開發(fā)環(huán)境是Eclipse,相信其他語言和開發(fā)環(huán)境都差不太多。)

 比如

var message = xmlHttp.responseText;
 alert("message: "+message);

獲得這個message輸出就是亂碼

 

解決辦法:

1. 修改編碼。切記要將代碼備份一下,改了編碼之后中文會變?yōu)閬y碼。

在js文件上右鍵點擊Properties,修改Text file encode 為UTF-8(這里應(yīng)當(dāng)與jsp中的編碼相同) 

 

同樣的將JavaScript source file和JSP的Default encoding設(shè)置為UTF-8(這里應(yīng)當(dāng)與jsp中的編碼相同,這樣以后的項目就都是utf-8的編碼了,推薦使用這個)

2. 注意response.setContentType("text/html;charset=utf-8");和PrintWriter out = response.getWriter();的位置關(guān)系,切記要將PrintWriter out = response.getWriter();放在response.setContentType("text/html;charset=utf-8");的后面,否則設(shè)置的編碼將無效,這也是我弄了n久都搞不定的原因?。?!

問題解決。 

相關(guān)文章

最新評論