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:
  <?php
    echo $str= ‘你好,这里是卖咖啡!’;
    echo '<br />';
    echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8
    echo '<br />';
    echo iconv_substr($str, 1, 1, 'UTF-8'); //按字符个数截取而非字节
    print_r(iconv_get_encoding()); //得到当前页面编码信息
    echo iconv_strlen($str, 'UTF-8'); //得到设定编码的字符串长度
  ?>
 
  例2:
  如果你的PHP文件是UTF-8编码的,那么下面的代码就可以正确输出:
  <?php
    $str='我爱百度';
    $utf='';
    for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1)));
    echo $utf;
  ?>
  如果你的PHP文件是GB的,那么下面的代码可以工作:
  <?php
    $str='我爱百度';
    $str=iconv("GBK", "UTF-8", $str);
    $utf='';
    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

最新文章

  1. ASP.NET MVC Controllers and Actions
  2. 【SharePoint学习笔记】第1章 SharePoint Foundation开发基础
  3. java 流
  4. asp 数组
  5. mysql 安装-编码
  6. window bzr launchpad 安装配置
  7. Java系列--第七篇 基于Maven的Android开发实战项目
  8. Masstransit开发基于消息传递的分布式应用
  9. SMART rule之个人理解
  10. Oracle笔试题库之问答题篇-总共60道
  11. 记一次DG搭建过程中备库ORA-00210,ORA-00202,ORA-27086错误
  12. i春秋与我
  13. 80806汇编(5)——[BX]和Loop指令
  14. XMPP即时通讯资料记录
  15. 记一次gitlab-ce数据恢复过程
  16. 数据分析面试题之Pandas中的groupby
  17. django----Form详细信息
  18. Python json和pickle模块
  19. tcp nonblock connection rst
  20. 4. powerdesigner 生成sql脚本步骤

热门文章

  1. H5的使用
  2. Java的hashCode和equals方法
  3. Java多线程之synchronized线程锁
  4. 轻量级浏览器Midori
  5. 进程间通信IPC与Binder机制原理
  6. Linux下的好用的编辑软件Remarkable
  7. IDEA Failed to prepare an update: Temp directory inside installation
  8. ajax 提交数组 泛型集合(嵌套集合)
  9. pip详解
  10. 【XSY2669】归并排序 树状数组 简单组合数学