用 AJAX 讀取一個中文頁面時,很多時會出現亂碼,因為 XMLHTTP 處理返回的 responseText 時,會用 UTF-8 編碼解讀,如果頁面送出的文件是 UTF-8 編碼便沒有問題,但如果所使用用的是 BIG5 或者 GB 編碼,就會出現亂碼情況。
解決方法是在送出的頁面加一個 HTTP Header 指定所使用的編碼,方法為:
PHP: header("Content-Type:text/html;charset=BIG5");
ASP: Response.Charset("BIG5")
JSP: response.setHeader("Charset","BIG5");
嗯..感謝分享
不過ASP的寫法,應該是 Response.Charset=”BIG5″吧!
Comment by 路人甲 — October 24, 2006 @ 10:38 am
太好了,说到实处了。
Comment by vkai — November 14, 2006 @ 8:22 pm
如果係perl…..可以怎樣寫呢?
Comment by 羊 — November 30, 2006 @ 11:30 pm
我唔知有冇記錯,寫法好似係:
print “Content-Type: text/html; charset=BIG5\n\n”;
Comment by Sam Tang — December 1, 2006 @ 10:21 am
Thank You!
問題解決了!
Comment by 羊 — December 13, 2006 @ 10:26 pm
可是我在JSP 加了還是失敗..
Comment by Roy — February 21, 2007 @ 4:32 pm
可以了!!我的是CGI(Perl)+Ajax,已解決亂碼問題,謝謝!!^^
Comment by 小米 — April 3, 2007 @ 5:38 pm
HTML静太的呢?
Comment by fsd — April 4, 2007 @ 4:27 pm
對不起大大.
我還是不知道那個 Response.Charset=”BIG5″ 是要放在 .jsp裡還是 .asp裡?
Comment by Noid — April 10, 2007 @ 2:55 pm
我試出來了,放在回應的asp頁面第一行就可以了。
Comment by venus — April 13, 2007 @ 12:53 am
thx
Comment by lam — August 13, 2007 @ 10:54 pm
http://blog.csdn.net/javagenuie
看看我的方案,是不是完美?
Comment by 007 — March 15, 2009 @ 9:23 am