php json 중국어 인코딩이 null인 문제에 대한 해결책
오늘 json_encode 함수를 사용해봤는데 중국어 텍스트가 null인 것을 발견했습니다.
원인 분석: json_encode 함수 사용 시 UTF-8 인코딩을 사용해야 합니다. 내 페이지에서는 gbk를 사용합니다.
해결책: json_encode 함수 앞에 iconv('gbk','utf8' 사용) 기능. 데이터베이스에서
function gbk2utf8($data) { if(is_array($data)) { return array_map('gbk2utf8', $data); } return iconv('gbk','utf-8',$data); } //以下是找的另一种方法
PHP 함수로 얻은 필드가 중국어로 되어 있습니다. json_encode()를 사용하여 프론트 데스크에 반환하고 싶지만 중국어를 인코딩한 후 json_encode가 null입니다.
PHP에 내장된 json_encode() 함수(php>5.2)를 이용하면 PHP에 있는 데이터를 다른 언어로 옮겨서 사용할 수 있습니다.
이 함수의 기능은 숫자 값을 json 데이터 저장 형식으로 변환하는 것입니다.
<?php $arr = array ( 'Name'=>'希亚', 'Age'=>20 ); $jsonencode = json_encode($arr); echo $jsonencode; ?>
프로그램 실행 결과는 다음과 같습니다.
{"Name":null,"Age":20}
json_encode 함수의 중국어는 다음과 같이 인코딩됩니다. null, Google 그러고보니 아주 간단하네요. 프론트엔드와 긴밀하게 통합하기 위해서 Json은 utf-8 인코딩만 지원하는 것 같아요. 프론트엔드 자바스크립트도 utf-8이기 때문이죠.
<?php $array = array ( 'title'=>iconv('gb2312','utf-8','这里是中文标题'), 'body'=>'abcd...' ); echo json_encode($array); ?>
이 프로그램을 실행한 결과는 다음과 같습니다.
{"title":"u8fd9u91ccu662fu4e2du6587u6807u9898","body":"abcd..."}
in 배열 모든 중국어 문자가 누락되었거나 json_encode 뒤에 u2353 등이 나타납니다.
해결책은 urlencode() 함수를 사용하여 다음을 처리하는 것입니다. json_encode 이전에 urlencode()를 사용하여 모든 배열의 내용을 모두 처리한 다음 json_encode()를 사용하여 json 문자열로 변환하고 마지막으로 사용하는 것입니다. urldecode()는 인코딩된 중국어를 다시 변환합니다.
<?php /************************************************************** * * 使用特定function对数组中所有元素做处理 * @param string &$array 要处理的字符串 * @param string $function 要执行的函数 * @return boolean $apply_to_keys_also 是否也应用到key上 * @access public * *************************************************************/ function arrayRecursive(&$array, $function, $apply_to_keys_also = false) { static $recursive_counter = 0; if (++$recursive_counter > 1000) { die('possible deep recursion attack'); } foreach ($array as $key => $value) { if (is_array($value)) { arrayRecursive($array[$key], $function, $apply_to_keys_also); } else { $array[$key] = $function($value); } if ($apply_to_keys_also && is_string($key)) { $new_key = $function($key); if ($new_key != $key) { $array[$new_key] = $array[$key]; unset($array[$key]); } } } $recursive_counter--; } /************************************************************** * * 将数组转换为JSON字符串(兼容中文) * @param array $array 要转换的数组 * @return string 转换得到的json字符串 * @access public * *************************************************************/ function JSON($array) { arrayRecursive($array, 'urlencode', true); $json = json_encode($array); return urldecode($json); } $array = array ( 'Name'=>'希亚', 'Age'=>20 ); echo JSON($array); ?>
이번에 성공했고 실행 결과는 다음과 같습니다.
{"Name":"Xia","Age": "20" }

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











golangWebSocket과 JSON의 결합: 데이터 전송과 파싱의 실현 현대 웹 개발에서 실시간 데이터 전송은 점점 더 중요해지고 있습니다. WebSocket은 양방향 통신을 달성하는 데 사용되는 프로토콜입니다. 기존 HTTP 요청-응답 모델과 달리 WebSocket을 사용하면 서버가 클라이언트에 데이터를 적극적으로 푸시할 수 있습니다. JSON(JavaScriptObjectNotation)은 간결하고 읽기 쉬운 데이터 교환을 위한 경량 형식입니다.

MySQL5.7과 MySQL8.0은 서로 다른 두 가지 MySQL 데이터베이스 버전입니다. 두 버전 사이에는 몇 가지 주요 차이점이 있습니다. 성능 개선: MySQL8.0은 MySQL5.7에 비해 성능이 일부 향상되었습니다. 여기에는 더 나은 쿼리 최적화 프로그램, 더 효율적인 쿼리 실행 계획 생성, 더 나은 인덱싱 알고리즘 및 병렬 쿼리 등이 포함됩니다. 이러한 개선 사항은 쿼리 성능과 전반적인 시스템 성능을 향상시킬 수 있습니다. JSON 지원: MySQL 8.0에는 JSON 데이터의 저장, 쿼리 및 인덱싱을 포함하여 JSON 데이터 유형에 대한 기본 지원이 도입되었습니다. 이를 통해 MySQL에서 JSON 데이터를 보다 편리하고 효율적으로 처리하고 조작할 수 있습니다. 트랜잭션 기능: MySQL8.0은 원자와 같은 몇 가지 새로운 트랜잭션 기능을 도입합니다.

PHP 배열을 JSON으로 변환하기 위한 성능 최적화 방법은 다음과 같습니다. JSON 확장 및 json_encode() 함수를 사용하여 문자 이스케이프를 방지하고 버퍼를 사용하여 JSON 인코딩 결과 캐싱을 고려합니다. JSON 인코딩 라이브러리.

C# 개발에서 XML 및 JSON 데이터 형식을 처리하려면 특정 코드 예제가 필요합니다. 최신 소프트웨어 개발에서는 XML과 JSON이 널리 사용되는 두 가지 데이터 형식입니다. XML(Extensible Markup Language)은 데이터를 저장하고 전송하는 데 사용되는 마크업 언어인 반면, JSON(JavaScript Object Notation)은 경량 데이터 교환 형식입니다. C# 개발에서는 XML 및 JSON 데이터를 처리하고 조작해야 하는 경우가 많습니다. 이 기사에서는 C#을 사용하여 이 두 가지 데이터 형식을 처리하고 첨부하는 방법에 중점을 둘 것입니다.

Golang에서 json.MarshalIndent 함수를 사용하여 구조를 형식화된 JSON 문자열로 변환합니다. Golang에서 프로그램을 작성할 때 구조를 JSON 문자열로 변환해야 하는 경우가 종종 있습니다. 이 과정에서 json.MarshalIndent 함수가 도움이 될 수 있습니다. 포맷된 출력. 아래에서는 이 기능을 사용하는 방법을 자세히 설명하고 구체적인 코드 예제를 제공합니다. 먼저 일부 데이터가 포함된 구조를 만들어 보겠습니다. 다음은 표시입니다

빠른 시작: JSON 파일을 읽는 Pandas 방법, 특정 코드 예제가 필요합니다. 소개: 데이터 분석 및 데이터 과학 분야에서 Pandas는 중요한 Python 라이브러리 중 하나입니다. 풍부한 기능과 유연한 데이터 구조를 제공하며, 다양한 데이터를 쉽게 처리하고 분석할 수 있습니다. 실제 애플리케이션에서는 JSON 파일을 읽어야 하는 상황에 자주 직면합니다. 이 기사에서는 Pandas를 사용하여 JSON 파일을 읽고 특정 코드 예제를 첨부하는 방법을 소개합니다. 1. 팬더 설치

Jackson 라이브러리의 주석은 JSON 직렬화 및 역직렬화를 제어합니다. 직렬화: @JsonIgnore: 속성 무시 @JsonProperty: 이름 지정 @JsonGetter: get 메서드 사용 @JsonSetter: set 메서드 사용 역직렬화: @JsonIgnoreProperties: @JsonProperty 속성 무시: 이름 지정 @JsonCreator: 생성자 사용 @JsonDeserialize: 사용자 정의 논리

PHP의 json_encode() 함수를 사용하여 배열이나 객체를 JSON 문자열로 변환하고 출력 형식을 지정하면 다양한 플랫폼과 언어 간에 데이터를 더 쉽게 전송하고 교환할 수 있습니다. 이 기사에서는 json_encode() 함수의 기본 사용법과 JSON 문자열의 형식을 지정하고 출력하는 방법을 소개합니다. 1. json_encode() 함수의 기본 사용법 json_encode() 함수의 기본 구문은 다음과 같습니다. stringjson_encod
