当前位置: 首页 > 后端技术 > PHP

PHP中iconv函数知识总结

时间:2023-03-30 02:10:25 PHP

iconv函数库可以完成各种字符集之间的转换,是PHP编程中不可或缺的基础函数库。本文内容是借鉴网上其他资源,再结合自己的实践,有需要的朋友可以参考。  今天在网上修改论文的时候遇到了iconv函数。了解  ?  1  2  3  4header('Content-Type:application/vnd.ms-excel;charset=UTF-8"');  $name=iconv('utf-8','gb2312',$data['year'].'年份第一个'.$data['period'].'periodaddressbook');  header('Content-Disposition:attachment;filename="'.$name.'.xls"');  header('Cache-Control:max-age=0');  这段代码的意思是把utf-8格式转换成gb2312格式,然后赋值$name,这样导出excel文件的名字时,就是$name的中文名字。  下面是这个函数的详细扩展用法  ?  1iconv("UTF-8","GB2312//IGNORE",$data)  ignore表示忽略转换时的错误,如果没有ignore参数,这个字符之后的所有字符串都不能保存。  这个iconv()函数,在php5中是内置的,谢谢。  例子:  ?  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  echo$str='你好,这里是卖咖啡的!';  echo'';  echoiconv('GB2312','UTF-8',$str);//将字符串编码由GB2312改为UTF-8  echo'';  echoiconv_substr($str,1,1,'UTF-8');//根据字符数而不是字节数截取  print_r(iconv_get_encoding());//获取当前页面编码信息  echoiconv_strlen($str,'UTF-8');//获取设置编码字符串的长度  //还有这样的用法  $content=iconv("UTF-8","gbk//TRANSLIT",$content);  ?>  iconv不是PHP的默认函数,也是默认安装的模块。需要安装才能使用。  如果是windows2000+php,可以修改php.ini文件,去掉“;”在extension=php_iconv.dll之前,需要把你原来的php安装文件下的iconv.dll复制到你的winnt/system32下(如果你的dll指向这个目录)  在linux环境下,使用静态安装方式,在configure的时候多加一项--with-iconv,phpinfo可以看到iconv项。(Linux7.3+Apache4.06+php4.3.2),  下载:ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz  安装:  ?5#cplibiconv-1.8.tar.gz/usr/local/src  #tarzxvflib*  #./configure--prefix=/usr/local/libiconv  #make  #makeinstall  编译php  #./configure--prefixdomainnametransaction=/usr/local/php4.3.2--with-iconv=/usr/local/libiconv/  used简单例子:  ?  1  2  3  echoiconv("gb2312","ISO-8859-1","we");  ?>  PHP中mb_convert_encoding和iconv函数介绍  mb_convert_encoding这个函数用于转换编码。本来不懂程序编码的概念,现在好像有点豁然开朗了。  不过英文一般不会有编码问题,只有中文数据才会有这个问题。比如你用ZendStudio或者Editplus写程序的时候用的是gbk编码。如果数据需要入库,而数据库的编码是utf8,那么此时必须转换数据的编码,否则入库时会变成乱码。.