해결 방법: 1. json_encode()의 두 번째 매개 변수 값을 "JSON_UNESCAPED_UNICODE"로 설정합니다. 2. 먼저 텍스트를 urlencode한 다음 json_encode()를 사용하여 인코딩하고 urldecode합니다.
권장: "PHP Video Tutorial"
json_encode()는 JSON 인코딩 변수에 사용됩니다. 성공하면 JSON 인코딩 문자열을 반환하고, 실패하면 FALSE를 반환합니다.
인코딩 과정에서 json_encode를 사용하여 중국어를 처리하는 경우가 많습니다. 그런데 중국어가 "u****" 형식으로 변환되어 변환되는 것을 방지하려면 어떻게 해야 할까요?
방법 1: PHP 버전은 5.4 이상입니다.
echo json_encode( '中文' ); // "\u4e2d\u6587" echo json_encode( '中文', JSON_UNESCAPED_UNICODE ); // "中文"
설명:
구문: json_encode ( $value [, $options = 0 ] )
1은 인코딩할 값이며 이 함수는 UTF8로 인코딩된 데이터에만 유효합니다. 2, 옵션: 다음 상수로 구성된 바이너리 마스크:
JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_PRESER VE_ZERO_FRACTION, JSON_UNESCAPED_ 유니코드, JSON_PARTIAL_OUTPUT_ON_ERROR.3. 두 번째 매개변수는 일반적으로 필요하지 않습니다.
4. JSON 데이터는 실제로 실행 시 var_dump()로 인쇄할 수 있습니다. 성공하고, 그렇지 않으면 FALSE가 반환됩니다.
방법 2: 먼저 json_encode에서 중국어 문자 urlencode를 트랜스코딩한 다음 urldecode 디코드합니다.echo $con = '中文'; // 中文 echo $con = urlencode( $con ); // %E4%B8%AD%E6%96%87" echo $con = json_encode( $con ); // %E4%B8%AD%E6%96%87" echo $con = urldecode( $con ); // "中文"
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 소개를 방문하세요. !
위 내용은 PHP json_encode 문자 왜곡을 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!