在使用ajax在前端向後台請求資料時,如果資料出現中文,那麼在返回資料時會出現錯誤。json_encode只能接受utf8的資料,當json_encode碰到中文的時候會自動將中文從utf8轉換成unicode型別。解決辦法有一下幾個:
1.json_unescaped_unicode選項, 故名思議, 就是說, json不要編碼unicode.
<?phpecho json_encode("中文", json_unescaped_unicode);
//"中文"
2.把漢字先urlencode然後再使用json_encode,json_encode之後再次使用urldecode來解碼,這樣編碼出來的json陣列中的漢字就不會出現unicode編碼了。
$array = array('test'=>urlencode("我是測試")
);$array = json_encode($array);
echo urldecode($array);
//
3.在客戶端進行unicode解碼
php 端
$channelnames = array ();
foreach ( $tempnames as $item )
echo json_encode ( $channelnames, json_unescaped_unicode );
js 端
success: function(result),
php ajax解決中文亂碼問題
當引數值為英文是可以正確寫入資料庫,但為中文是就不行,如何解決這個中文亂碼的問題呢?下面一步步教你如果解決php與ajax開發過程中,提交中文引數亂碼的問題。出現的原因是因為引數傳遞的格式問題 因為英文在引數傳遞轉換兩邊格式一樣所以沒問題 而中文狀態下的解析會出現構造組合問題 出現類似繁體的亂瑪 可...
中文資料存入資料庫mysql出現??的解決辦法
首先 專案編碼格式設定一致 如utf 8 這個一般不會出錯,只要在web裡面新增中文亂碼過濾器的話。其次,可能就是mysql的編碼方式有問題了,mysql中執行show variables like character 正常以utf 8為例的話應該是這樣的 但是如果會出現亂碼,可能會是下圖這樣的 這...
mysql資料庫出現中文亂碼的終極解決辦法
一.windows環境 1.找到配置檔案my.ini,一般在mysql安裝目錄下 通過everything搜尋 開啟 2.在標籤 mysql 下新增或修改 default character set utf8 在標籤 mysqld 下新增或修改 character set server utf8 在...