Heim  >  Artikel  >  php教程  >  函数:PHP将字符串从GBK转换为UTF8字符集iconv

函数:PHP将字符串从GBK转换为UTF8字符集iconv

WBOY
WBOYOriginal
2016-06-14 00:02:121218Durchsuche

1. iconv()介绍

      iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件。例如:从GB2312转换为UTF-8。

      iconv函数在php5中内置,GB字符集默认打开。
 

2. iconv()错误

      iconv在转换字符”—”到gb2312时会出错,解决方法是在需要转成的编码后加 “//IGNORE”,也就是iconv函数第二个参数后。如下:

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

      ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。
 
3. iconv()例子
  例1:
  
    echo $str= ‘你好,这里是卖咖啡!’;
    echo '
';

    echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8
    echo '
';

    echo iconv_substr($str, 1, 1, 'UTF-8'); //按字符个数截取而非字节
    print_r(iconv_get_encoding()); //得到当前页面编码信息
    echo iconv_strlen($str, 'UTF-8'); //得到设定编码的字符串长度
  ?>
 
  例2:
  如果你的PHP文件是UTF-8编码的,那么下面的代码就可以正确输出:
  
    $str='我爱百度';
    $utf='';
    for ($i=0;$i
    echo $utf;
  ?>
  如果你的PHP文件是GB的,那么下面的代码可以工作:
  
    $str='我爱百度';
    $str=iconv("GBK", "UTF-8", $str);
    $utf='';
    for ($i=0;$i
    echo $utf;
  ?>
  以上情况下,程序输出的内容是:
  %E6%88%91%E7%88%B1%E7%99%BE%E5%BA%A6
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP解析JSON与XMLNächster Artikel:PHP字符编码问题-总结