zoukankan      html  css  js  c++  java
  • php中iconv函数的一个小bug--转载

    iconv转换字符集很好用,但是有时候你会发现iconv转换的时候会返回false或者空字符串,严格说来这算不上是iconv的问题,这其实是字符集的问题,但是实际编码中应该算是iconv的bug了。

    你可以试试把以下这段字符串用iconv转换一下看看效果。

     $str="www.blogguy.cn,ok!the string is € .我要转换他!⊙●○①⊕◎Θ⊙¤㊣";
     echo '没有任何参数 : ', iconv("utf-8", "gbk", $str)."<br>";

    在我的电脑中返回的结果是第一个特殊字符以后的字符都不能显示。

    iconv有两个参数:分别是TRANSLIT 和IGNORE   ,分别的含义是TRANSLIT 表示如果目标编码里面不能翻译原编码,那么就直接找一个类似的最相近的字符或者字符串替代,例如€可能会被替换为EUR;而IGNORE   遇到目标字符集不能翻译的原始字符则直接跳过忽略,不返回false。

    使用方法如下:

    $infocontent=iconv("utf-8","gbk//IGNORE",$infocontent);

    或者

    $infocontent=iconv("utf-8","gbk//TRANSLIT",$infocontent);

    鉴于此,我认为iconv应该提供一个默认的参数IGNORE,避免开发者使用不善时出现返回空字符串的情况。

    一点小记录。

     

    原文地址:http://www.blogguy.cn/show-797-1.html

  • 相关阅读:
    部署NetCore项目(本文介绍用用IIS部署)
    vs中添加MySql实体集流程
    一文搞定HashMap的实现原理
    二分查找
    hashcode返回值可能为负数
    哈希碰撞与生日攻击
    并发的第二天
    java并发编程-1
    排序的第一天
    并发的第一天
  • 原文地址:https://www.cnblogs.com/lyghost/p/3304636.html
Copyright © 2011-2022 走看看