>  기사  >  백엔드 개발  >  PHP cp936이 깨졌을 경우 어떻게 해야 하나요?

PHP cp936이 깨졌을 경우 어떻게 해야 하나요?

藏色散人
藏色散人원래의
2022-10-21 09:25:342107검색

php cp936 왜곡된 코드에 대한 해결 방법: 1. 해당 PHP 파일을 엽니다. 2. "mb_convert_encoding($str, 'UTF-8', 'CP936');" 코드를 찾습니다. 8 ', 'latin1//IGNORE', $str);" 트랜스코딩 방법입니다.

PHP cp936이 깨졌을 경우 어떻게 해야 하나요?

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, Dell G3 컴퓨터.

php cp936 코드가 깨졌을 경우 어떻게 해야 하나요?

php cp936을 utf8 중국어 인코딩으로 변환하고 한자를 잘못된 문자로 변환하는 문제에 대한 해결 방법

문제 설명:

오늘 문제가 발생했습니다.

??°??£è와 같은 중국어 문자열 ???₩¢?

¨é??

UTF8로 변환해야 해서 PHP 함수를 호출했습니다.

mb_convert_encoding($str, 'UTF-8', 'CP936');

변환된 결과는 다음과 같습니다.

Meng 聬聨Mang 聨掳Blind Luuluo Mao Lu Lu Menglou Lang Meng 聟篓Maolian 聍聬聤Mang聛 스토브

의 실제 요구 결과는 다음과 같습니다.

포스트 모던 라이트 럭셔리 올 구리 샹들리에

이 문제가 발생했을 때 Baidu에서 검색한 결과 찾을 수 없다는 것을 알았습니다. asolution

직접 시도해보고 해결하는 것이 가장 좋습니다. 또 함정을 방지하기 위해 필요한 경우 녹음하고 공유하세요!

해결 방법은 다음과 같습니다.

사용 iconv('utf-8', 'latin1//IGNORE', $str);

첨부 파일:

function toUtf8($str) {
$encode = mb_detect_encoding($str, array('CP936', "ASCII","GB2312","GBK",'UTF-8','BIG5'));
if ($encode == 'UTF-8') {
return $str;
} elseif ($encode == 'CP936') {
return iconv('utf-8', 'latin1//IGNORE', $str);
} else {
return mb_convert_encoding($str, 'UTF-8', $encode);
}
}

권장 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP cp936이 깨졌을 경우 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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