發送中文字元請求時,如果使用get方式,運作正常;而使用post方法則會出現亂碼。這是由于異步對象XMLHttpRequest在處理傳回的 responseText的時候,是按UTF-8編碼進行解碼的。如果你原來的網頁編碼是gb2312的話,當然會發生編碼的沖突了;如果你原來的網頁編 碼是utf-8,那麼就不會出現中文亂碼的問題了。
出現了中文亂碼該怎麼辦呢?通常的解決辦法是用escape()對發送的資料進行編 碼,然後在傳回的responseText上再用unescape()進行解碼。然而在JavaScript程式設計中通常不推薦使用escape()和 unescape(),而推薦使用encodeURI()和decodeURI()。