>  기사  >  백엔드 개발  >  PHP iconv 함수 사용 예시 및 주의사항

PHP iconv 함수 사용 예시 및 주의사항

WBOY
WBOY원래의
2016-07-25 08:46:371170검색
  1. echo $str= '你好,这里是卖咖啡!';
  2. echo '
    ';
  3. echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8
  4. echo '
    ';
  5. echo iconv_substr($str, 1, 1, 'UTF-8'); //按字符个数截取而非字节
  6. print_r(iconv_get_encoding()); //得到当前页面编码信息
  7. echo iconv_strlen($str, 'UTF-8'); //得到设定编码的字符串长度
  8. //也有这样用的 bbs.it-home.org
  9. $content = iconv("UTF-8","gbk//TRANSLIT",$content);
  10. ?>
复制代码

php使用iconv函数注意事项

用iconv()转换一个输出字符编码不支持的字符时,如iconv('UTF-8', 'GB2312', '囧'),会遇到这样的错误提示: Notice: iconv() [function.iconv]: Detected an illegal character in input string ... 因为GB2312表示的是简体中文,不支持像"囧"之类的更为复杂的汉字以及一些特殊字符,这当然会报错了。

解决办法有两种: 1、扩大输出字符编码的范围,如iconv('UTF-8', 'GBK', '囧'),则可以正确地输出,因为GBK支持的字符范围更广; 2、在输出的字符编码字符串后面加上"//IGNORE",如iconv('UTF-8', 'GB2312//IGNORE', '囧'),忽略了不能转换的字符,避免了出错但却不能够正确地输出(即空白不、输出)。



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