• 技术文章 >后端开发 >PHP问题

    php将字符串转为utf8的方法

    藏色散人藏色散人2021-05-11 09:29:19原创367

    php将字符串转为utf8的方法:首先创建一个PHP示例文件;然后直接通过“iconv('GB2312', 'UTF-8', $str);”将字符串的编码从GB2312转到UTF8即可。

    本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

    PHP通过iconv将字符串从GBK转换为UTF8字符集

    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

    推荐学习:《PHP视频教程

    以上就是php将字符串转为utf8的方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php
    上一篇:php将日期转为时间戳的方法 下一篇:php怎么安装calendar扩展
    PHP编程就业班

    相关文章推荐

    • php怎么改变数据类型• php.ini怎么设置默认编码• 怎么看php是32还是64• php max函数的使用方法• ldap php怎么修改密码

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网