인터페이스 개발을 할 때 json 데이터를 반환하는 데 자주 사용됩니다. PHP에는 배열을 json 데이터 형식으로 변환하는 함수인 json_encode가 있습니다. 그러나 배열에 중국어 문자가 포함되어 있으면 반환되는 내용을 본 적이 있습니까? 데이터가 비어 있나요? 아래에 두 가지 솔루션이 작성되어 있습니다
첫 번째 방법
중국어 urlencode, 이 방법은 여러 자리 배열이 있는 경우 문제가 됩니다.
function encode_json($str) { return urldecode(json_encode(url_encode($str))); } function url_encode($str) { if(is_array($str)) { foreach($str as $key=>$value) { $str[urlencode($key)] = url_encode($value); } } else { $str = urlencode($str); } return $str; }
두 번째 방법
JSON_UNESCAPED_UNICODE 매개변수를 추가하세요. php5.4 이후 버전만 사용 가능합니다
json_encode($arr,JSON_UNESCAPED_UNICODE);
저는 사용할 때 보통 여러 개의 매개변수를 사용합니다
$data_string=json_encode($para,JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE);
이 문제를 상기시키기 위해 이 글을 씁니다
이 글은 php 중국 사이트 php에서 따왔습니다. tutorial 칼럼, 학습에 오신 것을 환영합니다!
위 내용은 json_encode 중국어 트랜스코딩 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!