PHP的json encode中文被轉碼的問題

2022-01-12 12:24:52 字數 631 閱讀 9737

在php5.2中做json_encode的時候。中文會被unicode編碼, 

php5.3加入了options引數, 

5.4以後才加入json_unescaped_unicode,這個引數,不需要做escape和unicode處理。 

所以在5.4之前都需要對中文做個處理 

5.4裡面的處理 

php**  

json_encode($str, json_unescaped_unicode);  

5.4之前,有兩種方法處理 

方法1. 

php**  

function encode_json($str)  

方法1.在實際應用中有個問題,部分字元會掉,不止為何,如字串:"日期11.2"會被變成"日期.2" 

方法2. 

先對需要處理的做urlencode處理,然後json_encode,最後做urldecode處理 

php**  

function encode_json($str)   

/** 

*  */  

function url_encode($str)   

} else   

return $str;  

}  

php中自帶函式 json encode

php場景中,需要將陣列轉為json字串,就需要用到php自帶的json encode函式 但是當陣列中含有中文字串時,轉出來的結果卻是以下結果 1 tmparr array 4 name 長褲 5 color blue 6 size xl 7 title 中年 長褲 8 910 tmpjson j...

PHP中json encode的使用心得

假設有這麼乙個url url 你好 data url url echo json encode data 得到這樣的輸出 首先發現中文經過encode之後變成了16進製制,這不是亂碼,只是單純現實方法變了,因為只需要直接通過反序列化就能得到原結果,如下 jsonstr data json decod...

PHP中json encode中文編碼的問題

php的json擴充套件自帶的json encode函式,如果對含有中文的字元進行編碼時,會自動轉換成unicode編碼。a array city 北京 abcd天津 echo json encode a n debian test server home php php test1.php 現在有...