ajax的亂碼的主要原因:
由於xmlhttp採用的是unicode編碼
而一般頁面採用的是gb2312
而當在獲取頁面時的xmlhttp返回的是utf-8編碼
這就造成了顯示產生亂碼。
基本的解決辦法有以下幾種:
方法一:
在php檔案中顯示宣告為gb2312
header("content-type:text/html;charset=gb2312");
而對於傳送到伺服器的中文進行轉碼。
$_post["content"]=iconv("utf-8","gb2312",$_post["content"]);
方法二:
在php的處理頁面上
header("content-type:text/html;charset=gb2312");
方法三:
對**和資料庫進行統一的編碼,這樣一般就不會出現類似的問題。
特殊情況:
以上出現原因,各個帖子中都有體現,不過樓主曾經出現在測試過以上的問題以後,還會出現的亂碼情況,經過一番測試,發現url中回傳多值的時候依然可能會出現亂碼。。
解決方案:
將中文值使用特殊字元連線後,一次性傳入,並控制器端再分割,雖然比較麻煩,但是效果很好。ps:ajax回傳多值的時候,不使用xml依然可以使用這種方案。
這樣簡單的處理下就可以了。
ajax亂碼問題
1 建議html jsp檔案本身採用utf 8格式 2 html的head中增加 3 jsp檔案頭增加 page contenttype text html charset utf 8 pageencoding utf 8 4 其中第2 3點也可通過filter實現 public void dofi...
php中的亂碼問題
亂碼不外呼就三種情況 1 是由編碼引起的亂碼,解決方法 修改編碼就是了 2 是由解碼引起的亂碼 比如原來別人用的是gbk,而你的客戶端軟體用的是解碼軟體是gb2312的。那麼可能就會引起亂碼了 3 是由作業系統引起的。這個好解決,修改一下電腦的區域設定那裡就可以了 最近在弄php,見同事遇幾次亂碼問...
解決jQuery中Ajax的亂碼問題
document ready function data error function r,r1,r2 post表單中的資料一直都正常,只是url中出現中文的話,伺服器程式收到的會是亂碼,比如 a.php?a 中文,這時候如果伺服器程式使用gb2312則正常,使用utf 8則亂碼,解決方法,所有頁面...