close
c00ce514錯誤,經過測試,我的是編碼錯誤,我的程序是用php寫的,這裡貼出使用php時的解決方法
1)先利用encodeURIComponent函數對查詢字符進行編碼,
同時設定header編碼方式為uft-8,
採用post方法,
由check.php處理請求
- ......(獲得XMLHTTPRequest對像 http_request)
- var queryString = encodeURIComponent("username")
- + "="
- + encodeURIComponent(str);
- http_request.onreadystatechange = processRequest;
- // 確定發送請求的方式和URL以及是否同步執行下段代碼
- var contentType = "application/x-www-form-urlencoded; charset=utf-8";
- // 確定發送請求的方式和URL以及是否同步執行下段代碼
- http_request.open("post", 'check.php', true);
- http_request.setRequestHeader("Content-Type", contentType);
- http_request.send(queryString);
(2)check.php中處理代碼
- <?php
- //使用iconv函數進行編碼轉換(utf-8-->gb2312),轉換後就可以進行相應的操作如比較
- $username=iconv("utf-8", "gb2312", urldecode(@$HTTP_POST_VARS["username"]));
- //echo 時因為是響應,所以要轉換回utf-8(gb2312-->utf-8)
- if($username=="張三")
- echo iconv("big5", "utf-8", "該用戶名已經被人使用,請選擇其他!");
- else
- echo iconv("big5", "utf-8", "該用戶名可用");
- ?>
這樣就可以正常顯示中文了
全站熱搜
留言列表