AJAX中文亂碼PHP完美解決

2021-05-21 23:07:02 字數 830 閱讀 9083

geturl=encodeuri(geturl); //兩次也可以寫成geturl=encodeuri(encodeuri(geturl));

然後再到伺服器端進行url解碼:

$str=urldecode($str); //解碼 

$ str =iconv("utf-8","gb2312",$ str);  //編碼轉換

注意:解碼必須在編碼轉換前面,不然得不到正確值

儲存測試,ie和firefox都能正常了。

第二種就是伺服器端向客戶端輸出中文時出現亂碼,這類問題網上的答案就比較多了,也都能解決,為了避免各位再去查詢,我在這裡就copy下j

原因:ajax在接收responsetext或respon***ml的值的時候是按照utf-8的格式來解碼的,如果伺服器段傳送的資料不是utf- 8的格式,那麼接收responsetext或respon***ml的值有可能為亂碼。

解決辦法:

在伺服器指定傳送資料的格式:

在jsp檔案中:

response.setcontenttype("text/text;charset=utf-8");//返回的是txt文字檔案 或是

response.setcontenttype("text/xml;charset=utf-8");//返回的xml檔案

php:header('content-type:text/html;charset=gb2312');

asp:response.charset("gb2312")

jsp:response.setheader("charset","gb2312");

AJAX中文亂碼PHP完美解決

最近在做乙個專案,遇到ajax中文亂碼問題,經過乙個下午的努力終於完美解決,現將心得寫下來,希望對那些還困繞在這個問題而頭痛不已的人們有所幫助。眾所周知,使用ajax傳送和接收中文引數時,如果不在客戶端和伺服器做相應的處理就會出現亂碼問題,在網上相應的文章也不少,但是有的情況下很難從中找到符合自己理...

完美解決PHP中文亂碼

一 首先是php網頁的編碼 1.php檔案本身的編碼與網頁的編碼應匹配 a.如果欲使用gb2312編碼,那麼php要輸出頭 header content type text html charset gb2312 靜態頁面新增,所有檔案的編碼格式為ansi,可用記事本開啟,另存為選擇編碼為ansi,...

完美解決PHP中文亂碼

一 首先是php網頁的編碼 1.php檔案本身的編碼與網頁的編碼應匹配 a.如果欲使用gb2312編碼,那麼php要輸出頭 header content type text html charset gb2312 靜態頁面新增lowhtfs2312 所有檔案的編碼格式為ansi,可用記事本開啟,另存...