>  기사  >  백엔드 개발  >  PHP 배열을 json으로 변환하여 중국어 필터링

PHP 배열을 json으로 변환하여 중국어 필터링

WBOY
WBOY원래의
2023-05-19 09:00:37545검색

웹 개발에서는 페이지에 데이터를 동적으로 로드하기 위해 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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