웹 개발에서는 페이지에 데이터를 동적으로 로드하기 위해 PHP 배열을 JSON 형식으로 변환해야 하는 경우가 많습니다. 하지만 배열을 JSON으로 변환하는 과정에서 중국어 인코딩 문제가 발생하여 데이터가 정상적으로 표시되지 않을 수 있습니다. 이 기사에서는 데이터가 페이지에 정상적으로 표시되도록 PHP 배열을 JSON으로 변환하는 과정에서 중국어 인코딩 문제를 필터링하는 방법에 대해 설명합니다.
1. PHP 배열을 JSON으로 변환
PHP에서는 json_encode() 함수를 사용하여 배열을 JSON 형식으로 변환합니다. 예를 들어 다음 배열이 있는 경우:
$arr = array( "name" => "张三", "age" => 25, "gender" => "男" );
다음 코드를 통해 JSON 형식으로 변환할 수 있습니다.
$json = json_encode($arr); echo $json; // 输出:{"name":"张三","age":25,"gender":"男"}
2. 중국어 인코딩 문제
그러나 배열에 중국어 문자가 포함된 경우 변환된 JSON 형식은 다음과 같을 수 있습니다. 인코딩된 질문입니다. 예를 들어 다음 배열을 JSON 형식으로 변환합니다.
$arr = array( "name" => "李四", "age" => 30, "gender" => "男", "desc" => "这是一个描述,包含中文字符" );
json_encode() 함수를 사용하여 JSON 형식으로 변환합니다.
$json = json_encode($arr); echo $json; // 输出:{"name":"u674eu56db","age":30,"gender":"u7537","desc":"u8fd9u662fu4e00u4e2au63cfu8ff0uff0cu5305u542bu4e2du6587u5b57u7b26"}
보시다시피 한자는 유니코드 문자로 인코딩되어 페이지에 제대로 표시되지 않습니다. . 이는 기본적으로 json_encode() 함수가 서로 다른 플랫폼 간에 데이터를 전송하기 위해 ASCII가 아닌 문자를 유니코드 문자로 인코딩하기 때문입니다.
3. 중국어 필터링
중국어 인코딩 문제를 해결하려면 JSON_UNESCAPED_UNICODE 매개변수를 사용하여 중국어 문자를 필터링할 수 있습니다. 이 매개변수를 사용하면 json_encode() 함수가 JSON 변환 시 한자를 유니코드 문자로 인코딩하지 않고 한자를 직접 출력할 수 있습니다.
위 코드를 다음과 같이 수정하세요.
$json = json_encode($arr, JSON_UNESCAPED_UNICODE); echo $json; // 输出:{"name":"李四","age":30,"gender":"男","desc":"这是一个描述,包含中文字符"}
한자가 다른 문자처럼 출력되어 페이지에 정상적으로 표시되는 것을 확인할 수 있습니다.
4. 요약
PHP 배열을 JSON 형식으로 변환할 때 배열에 중국어 문자가 포함되어 있는 경우 중국어 인코딩 문제에 주의해야 합니다. JSON_UNESCAPED_UNICODE 매개변수를 사용하면 데이터가 페이지에 정상적으로 표시되도록 중국어 문자를 필터링할 수 있습니다.
위 내용은 PHP 배열을 json으로 변환하여 중국어 필터링의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!