>백엔드 개발 >PHP 문제 >PHP json_encode 문자 왜곡을 해결하는 방법은 무엇입니까?

PHP json_encode 문자 왜곡을 해결하는 방법은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-08-20 10:59:282832검색

해결 방법: 1. json_encode()의 두 번째 매개 변수 값을 "JSON_UNESCAPED_UNICODE"로 설정합니다. 2. 먼저 텍스트를 urlencode한 다음 json_encode()를 사용하여 인코딩하고 urldecode합니다.

PHP json_encode 문자 왜곡을 해결하는 방법은 무엇입니까?

권장: "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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.