zoukankan      html  css  js  c++  java
  • iconv: iconv_open(pToCharset, pFromCharset); 的附加参数//IGNORE

    今天在转换一个文件时iconv() 老是返回 -1, 提示编码转换失败。

    一共 30 多个文件, 原编码都是一样的,为什么有的转换会失败,返回 -1呢?

    网上搜索了一下, 找到一个随加参数: //IGNORE

    说是 iconv_open() 的第一个参数后面最好加上 //IGNORE 

    官方用法:iconv_open("gbk", "utf-8");  //将 utf-8 转换成 gbk
    在实际操作中,需要(最好)在第1个参数后面加上“//IGNORE”,即: iconv_open("gbk//IGNORE", "utf-8");

    我加上 //IGNORE 后,再测试,果然  iconv() 不再返回 -1

    文件源编码:  utf-8, 想转换成 gbk

    那如果我使用一个错误的编码, 只要加上 //IGNORE,是不是不会返回 -1:

    iconv_open("gbk//IGNORE", "utf-16"); //这里故意使用错误的 utf-16

    测试结果: iconv() 返回 -1

    这下我放心了。

    又搜索了一下相关资料, //IGNORE 的意义:(http://hi.baidu.com/breezelark/item/af7ec615c9588bd8be90427c)

    加://IGNORE 

    如果遇到无法转换的字符,就会直接舍弃,然后继续转换。

    默认不加://IGNORE

    如果遇到无法转换的字符,直接从第一个非法字符处前截断并抛出NOTICE(通知),iconv() 返回 -1。

    2014-07-02

     

  • 相关阅读:
    vue中的样式
    v-model 双向数据绑定
    v-on 事件修饰符
    Linq Join
    Elasticsearch.Net 异常:[match] query doesn't support multiple fields, found [field] and [query]
    MongoDB开启权限认证
    elasticsearch备份与恢复
    elasticserach + kibana环境搭建
    Kibana TypeError : Object #<GlobalState> has no method 'setDefaults'
    匿名函数
  • 原文地址:https://www.cnblogs.com/personnel/p/4585003.html
Copyright © 2011-2022 走看看