php ajax出現中文的解決辦法

2021-06-28 17:35:18 字數 757 閱讀 7454

在使用ajax在前端向後台請求資料時,如果資料出現中文,那麼在返回資料時會出現錯誤。json_encode只能接受utf8的資料,當json_encode碰到中文的時候會自動將中文從utf8轉換成unicode型別。解決辦法有一下幾個:

1.json_unescaped_unicode選項, 故名思議, 就是說, json不要編碼unicode.

<?php

echo 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 在...