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'].'期通信录');

  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 '
';

  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'); //失去设定编码的字符串长度

  //也有这样用的

  $content = iconv("UTF-8","gbk//TRANSLIT",$content);

  ?>

  iconv不是php的默认函数,也是默认装置的模块。须要装置能力用的。

  如果是windows2000+php,你能够批改php.ini文件,将extension=php_iconv.dll前的";"去掉,同时你要copy你的原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

  装置:

  ?

  1

  2

  3

  4

  5#cp libiconv-1.8.tar.gz /usr/local/src

  #tar zxvf lib*

  #./configure --prefix=/usr/local/libiconv

  #make

  #make install

  编译php

  #./configure --prefix域名交易=/usr/local/php4.3.2 --with-iconv=/usr/local/libiconv/

  应用的简略例子:

  ?

  1

  2

  3
  echo iconv("gb2312","ISO-8859-1","咱们");

  ?>

  PHP中的mb_convert_encoding与iconv函数介绍

  mb_convert_encoding这个函数是用来转换编码的。原来始终对程序编码这一概念不了解,不过当初如同有点开窍了。

  不过英文个别不会存在编码问题,只有中文数据才会有这个问题。比方你用Zend Studio或Editplus写程序时,用的是gbk编码,如果数据须要入数据库,而数据库的编码为utf8时,这时就要把数据进行编码转换,不然进到数据库就会变成乱码。