>  기사  >  백엔드 개발  >  UTF-8과 같은 인코딩을 GB2312로 변환하는 PHP의 iconv 함수

UTF-8과 같은 인코딩을 GB2312로 변환하는 PHP의 iconv 함수

不言
不言원래의
2018-04-16 11:20:362350검색

이 기사에서는 UTF-8과 같은 인코딩을 GB2312로 변환하는 PHP의 iconv 함수를 소개합니다. 이제 특정 참조 값이 필요하여 이를 참조할 수 있습니다.

최근 CCB 인터페이스 작업 중입니다. 당시 UTF-8 인코딩을 GB2312로 변환해야 한다는 것을 알게 되었고, 이 iconv 함수를 사용하여 인코딩을 변환했습니다.

iconv 함수를 사용하여 캡처한 데이터를 트랜스코딩하면 아무 이유 없이 데이터가 줄어든다는 사실을 발견했습니다. 한동안 우울했는데, 인터넷으로 정보를 확인해보니 이것이 iconv 함수의 버그라는 것을 알게 되었습니다. iconv는 "-" 문자를 gb2312로 변환할 때 오류를 발생시킵니다.

이 기능의 사용법을 살펴보겠습니다.

가장 간단한 응용 프로그램은 gb2312를 utf-8로 교체합니다.


$zhuan=iconv("UTF-8","GB2312",$data);



사용 중에 특수 문자(예: "— ", "." 및 기타 영문 이름 문자를 입력하면 변환이 깨집니다. 이 문자 뒤의 텍스트는 더 이상 변환할 수 없습니다.

<br/>


이 문제를 해결하려면 다음 코드를 사용하여 문제를 해결할 수 있습니다.


$zhuan=iconv("UTF-8","GBK",$data);

읽으신 내용이 맞습니다. 아주 간단합니다. gb2312를 사용하지 말고 GBK로 작성하면 됩니다.

또 다른 방법이 있습니다. 두 번째 매개변수에 //IGNORE를 추가하고 오류를 무시하는 방법은 다음과 같습니다.


$zhuan=iconv("UTF-8","GB2312//IGNORE",$data);

이 두 가지 방법 사이에 특별한 비교는 없습니다. 첫 번째 방법(gb2312 대신 GBK)이 맞는 것 같습니다. 더 좋습니다.

관련 권장 사항:

php






에서 iconv 기능을 사용하는 방법

위 내용은 UTF-8과 같은 인코딩을 GB2312로 변환하는 PHP의 iconv 함수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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