백엔드 개발 PHP 튜토리얼 php_php 팁의 json_encode UTF-8 중국어 왜곡 문자에 대한 더 나은 솔루션

php_php 팁의 json_encode UTF-8 중국어 왜곡 문자에 대한 더 나은 솔루션

May 16, 2016 pm 08:35 PM
json_encode utf-8 중국어 왜곡 문자

최근 인터페이스 코드에 json_encode를 사용했는데, json_encode 인코딩을 UTF-8 중국어로 설정하면 왜곡되지 않는다는 것을 인터넷에서 발견했습니다. 이 방법이 실제로 효과적인 것으로 확인되었습니다. 왜인지는 모르겠지만 시간이 지나도 잘 작동하지 않습니다. 다음은 json_encode에 대한 내 솔루션입니다. 더 좋은 방법이 있다면 공유해주세요!

첫 번째 유형:

이것은 간단한 코드 변환이며, urlcode 뒤에 필요한 배열을 반환합니다

내 코드에는 이 정도면 충분합니다.

코드는 다음과 같습니다

public static function encodeOperations ($array)

{

foreach ((array)$array as $key => $value) {

if (is_array($value)) {

encodeOperations($array[$key]);

} else {

$array[$key] = urlencode(mb_convert_encoding($value,'UTF-8','GBK'));

}

}

return $array;

}
로그인 후 복사

두 번째 유형:

인터넷에서 이거 봤는데 무한루프 문제가 있을거라는 댓글이 있었는데 이건 확실히 매우 포괄적이고 테스트한 결과 그런 일이 발생해서 참고용으로 여기에 올립니다

코드는 다음과 같습니다

/**************************************************************

*

* 使用特定function对数组中所有元素做处理

* @param string &$array 要处理的字符串

* @param string $tocode 编码后

* @param string $oldcode 编码前

* @param string $function 要执行的函数

* @return boolean $apply_to_keys_also 是否也应用到key上

* @return array $array 是否也应用到key上

* @access public

*

*************************************************************/

function encodeOperations (&$array, $function, $tocode=false,$oldcode=false,$apply_to_keys_also = false)

{

foreach ($array as $key => $value) {
(www.jb51.net)
if (is_array($value)) {

encodeOperations($array[$key], $function, $apply_to_keys_also);

} else {

if($tocode&&$oldcode) {

if(function_exists(mb_convert_encoding)) {

$value = mb_convert_encoding($value,$tocode,$oldcode);

}else{

return "error";

}

}

$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]);

}

}

}

return $array;

}


/****from:http://www.jb51.net/phper/31/66729.htm**********************************************************

*

* 将数组转换为JSON字符串(兼容中文)

* @param array $array 要转换的数组

* @return string 转换得到的json字符串

* @access public

*

*************************************************************/

function JSON($array) {

arrayRecursive($array, 'urlencode', true);

$json = json_encode($array);

return urldecode($json);

}
로그인 후 복사

중국어에 대해 null이 반환되면 문자를 uft8로 변환하거나 urlencode를 사용하여 먼저 컴파일해야 합니다.

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

PHP Dompdf의 중국어 문자 왜곡 문제를 해결하는 방법 PHP Dompdf의 중국어 문자 왜곡 문제를 해결하는 방법 Mar 05, 2024 pm 03:45 PM

PHPDompdf의 중국어 왜곡 문제를 해결하는 방법 PHPDompdf는 HTML 문서를 PDF 파일로 변환하는 도구입니다. 강력하고 사용하기 쉽습니다. 그런데 중국어 콘텐츠를 처리하다 보면 한자가 깨져 나오는 문제가 가끔 발생합니다. 이 기사에서는 PHPDompdf의 중국어 왜곡 문제를 해결하는 몇 가지 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. 중국어 콘텐츠를 처리하기 위해 글꼴 파일을 사용할 때 일반적인 문제는 Dompdf가 기본적으로 중국어 콘텐츠를 지원하지 않는다는 것입니다.

PyCharm의 중국어 왜곡 문자 문제에 대한 궁극적인 해결책 PyCharm의 중국어 왜곡 문자 문제에 대한 궁극적인 해결책 Jan 27, 2024 am 08:00 AM

PyCharm에서 중국어 문자 깨짐 문제를 해결하는 궁극적인 방법에는 구체적인 코드 예제가 필요합니다. 소개: PyCharm은 일반적으로 사용되는 Python 통합 개발 환경(IDE)으로 강력한 기능과 친숙한 사용자 인터페이스를 갖추고 있어 많은 사람들에게 사랑받고 있습니다. 대부분의 개발자. 그러나 PyCharm이 중국어 문자를 처리할 때 문자가 깨져 개발 및 디버깅 시 특정 문제를 일으키는 경우가 가끔 있습니다. 이 기사에서는 PyCharm에서 중국어 왜곡 문제를 해결하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. 프로젝트 설정

MySQL 설치 시 중국어 문자가 왜곡되는 일반적인 원인과 해결 방법 MySQL 설치 시 중국어 문자가 왜곡되는 일반적인 원인과 해결 방법 Mar 02, 2024 am 09:00 AM

MySQL 설치 시 중국어 문자 깨짐의 일반적인 원인과 해결 방법 MySQL은 일반적으로 사용되는 관계형 데이터베이스 관리 시스템이지만 사용 중에 중국어 문자 깨짐 문제가 발생할 수 있으며 이는 개발자와 시스템 관리자에게 문제를 야기합니다. 중국어 깨짐 문제는 주로 잘못된 문자 집합 설정, 데이터베이스 서버와 클라이언트 간의 문자 집합 불일치 등으로 인해 발생합니다. 이 기사에서는 모든 사람이 이 문제를 더 잘 해결할 수 있도록 MySQL 설치 시 중국어 문자가 왜곡되는 일반적인 원인과 해결 방법을 자세히 소개합니다. 1. 일반적인 이유: 문자 집합 설정

PHP 웹페이지에 중국어 문자가 깨져 있는 경우 어떻게 해야 합니까? 완벽한 솔루션 PHP 웹페이지에 중국어 문자가 깨져 있는 경우 어떻게 해야 합니까? 완벽한 솔루션 Mar 26, 2024 pm 03:27 PM

PHP 웹 페이지의 중국어 문자 깨짐 문제는 웹 페이지 표시에서 중국어 문자가 깨져서 표시된다는 것입니다. 이러한 상황은 일반적으로 인코딩이 일관되지 않거나 문자 세트가 설정되지 않아 발생합니다. PHP 웹 페이지의 중국어 문자 깨짐 문제를 해결하려면 여러 측면에서 시작해야 합니다. 다음은 몇 가지 일반적인 솔루션과 특정 코드 예제입니다. PHP 파일 인코딩 설정: 먼저 PHP 파일 자체의 인코딩이 UTF-8인지 확인하세요. 편집기에서 저장할 때 UTF-8 인코딩을 설정하거나, 설정하려는 PHP 파일의 헤더에 다음 코드를 추가할 수 있습니다. 인코딩: &l

Linux 시스템에서 중국어 왜곡 문자 문제를 해결하는 방법 Linux 시스템에서 중국어 왜곡 문자 문제를 해결하는 방법 Feb 19, 2024 am 09:22 AM

리눅스 중국어 왜곡 문자 문제는 많은 중국 사용자들이 리눅스 시스템을 사용할 때 자주 겪는 문제입니다. 중국어 문자가 왜곡되는 주된 이유는 Linux 시스템에서 사용하는 기본 문자 인코딩이 UTF-8이지만 일부 소프트웨어나 응용 프로그램이 UTF-8 인코딩과 호환되지 않아 중국어 문자가 올바르게 표시되지 않기 때문입니다. 이 문제를 해결하는 방법에는 여러 가지가 있습니다. 몇 가지 일반적인 해결 방법이 아래에 자세히 설명되어 있으며 구체적인 코드 예제가 제공됩니다. 터미널 문자 인코딩 설정 수정: 터미널의 문자 인코딩 설정에 따라 터미널이 올바르게 인코딩할 수 있는지 여부가 결정됩니다.

ajax가 중국어 왜곡 문자를 전송하는 경우 수행할 작업 ajax가 중국어 왜곡 문자를 전송하는 경우 수행할 작업 Nov 15, 2023 am 10:42 AM

중국어 왜곡 문자의 Ajax 전송 솔루션: 1. 통합 인코딩 방법 설정 2. 서버 측 인코딩 4. HTTP 응답 헤더 설정 5. JSON 형식 사용 자세한 소개: 1. 서버와 클라이언트가 동일한 인코딩 방법을 사용하도록 통일된 인코딩 방법을 설정합니다. 일반적인 상황에서 UTF-8은 여러 언어와 문자 집합을 지원할 수 있기 때문에 일반적으로 사용되는 인코딩 방법입니다. 2, 서버 측 인코딩. 서버 측에서 중국어 데이터가 올바른 인코딩 방법으로 인코딩된 후 클라이언트 등에 전달되는지 확인합니다.

Eclipse에서 한자 깨짐 문제를 효과적으로 해결하는 실용적인 방법 Eclipse에서 한자 깨짐 문제를 효과적으로 해결하는 실용적인 방법 Jan 03, 2024 pm 05:50 PM

Eclipse에서 중국어 왜곡 문자를 빠르게 해결하기 위한 실용적인 팁에는 특정 코드 예제가 필요합니다. 개요: Eclipse는 여러 프로그래밍 언어 개발을 지원할 뿐만 아니라 여러 운영 체제도 지원하는 널리 사용되는 통합 개발 환경(IDE)입니다. 그러나 Eclipse를 사용하다 보면 가끔 중국어 글자가 깨져 나오는 문제가 발생하여 개발 작업에 불편을 초래하는 경우가 있습니다. 이 기사에서는 Eclipse에서 중국어 문자 깨짐 문제를 신속하게 해결하는 데 도움이 되는 몇 가지 실용적인 기술을 소개하고 특정 코드 예제를 첨부합니다. 하나,

matplotlib 중국어 왜곡 문제를 해결하는 효과적인 방법 matplotlib 중국어 왜곡 문제를 해결하는 효과적인 방법 Jan 13, 2024 am 11:03 AM

matplotlib 중국어 문자 깨짐을 빠르게 해결하는 효과적인 방법 소개: matplotlib는 Python에서 일반적으로 사용되는 그리기 라이브러리입니다. 그러나 주석 및 표시를 위해 중국어를 사용할 때 문자 깨짐이 자주 발생합니다. 이 문서에서는 몇 가지 효과적인 해결 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. 글꼴 설정 matplotlib은 기본적으로 중국어 표시용 시스템 글꼴을 사용하지만 시스템 글꼴에 중국어 문자가 포함되어 있지 않은 경우가 많으므로 적절한 중국어 글꼴을 수동으로 설정해야 합니다. 먼저 컴퓨터에

See all articles