iconv 함수 라이브러리는 다양한 문자 집합 간의 변환을 완료할 수 있으며 PHP 프로그래밍에 없어서는 안 될 기본 함수 라이브러리입니다.
은 다음과 같이 사용됩니다.
은 다음과 같이 확장됩니다.
비고:
1. iconv는 PHP의 기본 기능이 아니며, 기본적으로 설치되는 모듈이기도 합니다. 사용하기 전에 설치해야 합니다.
Windows 2000 PHP인 경우 php.ini 파일을 수정하고 확장자=php_iconv.dll 앞에 있는 ";"을 제거해야 합니다. 동시에 원래 PHP 설치 파일에 iconv.dll을 복사해야 합니다. winnt/system32(dll이 이 디렉터리를 가리키는 경우 이 단계를 로컬에서 수행하지 않은 것입니다)
Linux 환경에서는 정적 설치를 사용하여 구성 시 --with-iconv 항목을 추가하면 됩니다. iconv 항목은 phpinfo에서 확인할 수 있습니다. (Linux7.3 Apache4.06 php4.3.2);
이걸로 PHP의 iconv 소개를 마칩니다
2. iconv 함수를 사용하여 캡처된 utf-8 인코딩 페이지를 gb2312로 변환합니다. iconv 함수를 사용하여 캡처된 데이터를 트랜스코딩해야만 데이터가 아무 이유 없이 적어지는 것을 발견했습니다. 그 이유는 이렇습니다.
iconv("UTF-8","GB2312//IGNORE",$string)을 이와 같이 수정할 수 있습니다. 그러면 변환할 수 없는 문자가 무시됩니다.
추가:
PHP의 mb_convert_encoding 및 iconv 함수 소개
mb_convert_encoding 함수는 iconv 함수와 유사하게 인코딩을 변환하는 데 사용됩니다.
영어에는 일반적으로 인코딩 문제가 없으며 중국어 데이터에만 이 문제가 있습니다. 예를 들어, Zend Studio 또는 Editplus를 사용하여 프로그램을 작성할 때 gbk 인코딩을 사용합니다. 데이터를 데이터베이스에 입력해야 하고 데이터베이스 인코딩이 utf8이면 데이터를 인코딩하고 변환해야 합니다. 데이터베이스에 들어갈 때 깨집니다.
mb_convert_encoding 사용법은 공식 홈페이지를 참조하세요:
http://cn.php.net/manual/zh/function.mb-convert-encoding.php
GBK를 UTF-8로 만들기
또 다른 GB2312가 Big5로
그러나 위 기능을 사용하려면 설치가 필요하지만 먼저 mbstring 확장 라이브러리를 활성화해야 합니다. 원칙은 여전히 동일합니다. php.ini를 수정합니다.
PHP의 또 다른 함수 iconv도 문자열 인코딩을 변환하는 데 사용되며 해당 기능은 위 함수와 유사합니다.
아래에 몇 가지 자세한 예가 있습니다.
사용법:
string mb_convert_encoding ( string str, string to_encoding [, mix from_encoding] )
먼저 mbstring 확장 라이브러리를 활성화하고 php.ini에서 Extension=php_mbstring.dll 앞의 ;를 제거해야 합니다
mb_convert_encoding은 여러 입력 인코딩을 지정할 수 있으며 내용에 따라 자동으로 식별합니다. 하지만 iconv보다 실행 효율성이 훨씬 떨어지므로 이 mb_convert_encoding() 함수를 설명해야 하는 이유는 무엇입니까? 답변은 다음과 같습니다.
"-" 문자를 gb2312로 변환할 때 iconv에서 오류가 발생하는 것으로 확인되었습니다. 무시 매개변수가 없으면 이 문자 뒤에 오는 모든 문자열을 저장할 수 없습니다. 어쨌든 이 "-"는 성공적으로 변환될 수 없으며 출력될 수 없습니다. 게다가 mb_convert_encoding에는 이런 버그가 없습니다.
일반적으로 iconv를 사용합니다. 원본 인코딩이 무엇인지 알 수 없거나 변환 후 iconv가 정상적으로 표시되지 않는 경우에만 mb_convert_encoding 함수를 사용하세요.