>  기사  >  백엔드 개발  >  iconv를 통해 문자열을 GBK에서 UTF8 문자 세트로 변환하는 PHP 메소드

iconv를 통해 문자열을 GBK에서 UTF8 문자 세트로 변환하는 PHP 메소드

怪我咯
怪我咯원래의
2017-07-07 10:20:243149검색

PHP는 iconv를 사용하여 문자열을 GBK에서 UTF8문자 집합으로 변환합니다. 도움이 필요한 친구들은 이를 참조할 수 있습니다.

1. iconv() 소개 iconv 함수는 알려진 문자 집합 파일을 알려진 다른 문자 집합 파일로 변환할 수 있습니다. 예: GB2312에서 UTF-8로 변환합니다.
iconv 기능은 php5에 내장되어 있으며 기본적으로 GB 문자 집합이 켜져 있습니다.
2.iconv() 오류
iconv는 "-" 문자를 gb2312로 변환할 때 오류가 발생합니다. 해결 방법은 변환해야 하는 인코딩 뒤에, 즉 의 두 번째 매개변수 뒤에 "//IGNORE"를 추가하는 것입니다. iconv 함수는 다음과 같습니다.

코드는 다음과 같습니다.

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

ignore는 변환 중 오류를 무시한다는 의미입니다. 무시 매개변수가 없으면 이 문자 뒤에 오는 모든 문자열을 저장할 수 없습니다.

3.iconv() 예시
예제 1:

코드는 다음과 같습니다.

<?php 
  echo $str= ‘你好,这里是卖咖啡!&#39;; 
  echo &#39;<br />&#39;; 
  echo iconv(&#39;GB2312&#39;, &#39;UTF-8&#39;, $str); //将字符串的编码从GB2312转到UTF-8 
  echo &#39;<br />&#39;; 
  echo iconv_substr($str, 1, 1, &#39;UTF-8&#39;); //按字符个数截取而非字节 
  print_r(iconv_get_encoding()); //得到当前页面编码信息 
  echo iconv_strlen($str, &#39;UTF-8&#39;); //得到设定编码的字符串长度 
?>

예제 2:

PHP 파일이 UTF-8로 인코딩된 경우 다음 코드가 올바르게 출력될 수 있습니다. 코드는 다음과 같습니다.

<?php 
  $str=&#39;我爱百度&#39;; 
  $utf=&#39;&#39;; 
  for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); 
  echo $utf; 
?>

PHP 파일이 GB인 경우 다음 코드가 작동할 수 있습니다.

코드는 다음과 같습니다.

<?php 
  $str=&#39;我爱百度&#39;; 
  $str=iconv("GBK", "UTF-8", $str); 
  $utf=&#39;&#39;; 
  for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); 
  echo $utf; 
?>

위의 경우 프로그램 출력은

%E6%88%입니다. 91%E7%88 %B1%E7%99%BE%E5%BA%A6

위 내용은 iconv를 통해 문자열을 GBK에서 UTF8 문자 세트로 변환하는 PHP 메소드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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