iconv 失败

网上的都是这样用的

代码如下:

$content = iconv("utf-8","gb2312",$content);

这样做其实也对着了,看着确实是把utf-8转化为gb2312了,但是实际运行的话,往往都是以失败告终的,原因呢?

原因实际上也很简单,因为任何的函数都有执行错误的时候,同时很不幸的是iconv();就很容易出现错误

真正的答案是这样的

代码如下:

$content = iconv("utf-8","gb2312//IGNORE",$content);

很简单的,只要后面加上一个//IGNORE就行,加上这个就可以是ICONV()函数忽略错误,继续执行。

同理,要像把gb2312换为utf-8只要写上$content = iconv("gb2312","utf-8//IGNORE",$content);就行

时间: 2024-10-11 10:19:00

iconv 失败的相关文章

ARM开发板上iconv调用失败的解决方法

当前流行的字符编码格式有:US-ASCII.ISO-8859-1.UTF-8.UTF-16BE.UTF-16LE.UTF-16.GBK.GB2312等,其中GBK.GB2312是专门处理中文编码的.而libiconv是一个常用的编码转换库,支持常用的多种编码之间的转换.在Linux下,工具链gcc有专门的libiconv库,所有不用移植,但在arm-linux下就没那么幸运了,需要我们额外移植libiconv库,不过,过程还是比较简单的. 一.字符编码转换libiconv库介绍 libiconv

字符编码知识简介和iconv函数的简单使用

字符编码知识简介和iconv函数的简单使用 字符编码知识简介 我们知道,在计算机的世界其实只有0和1.期初计算机主要用于科学计算,而我们知道一个数,除了用我们常用对10进制表示,也可以用2进制表示,所以只有0和1就可以进行科学计算,但是为了便于计算,大神们还是向计算机中引入的编码,比如通常我们用补码表示一个负数.所以编码这个东西,是从一开始就伴随着计算机的.到现在,我们的生活已经完全离不开计算机了,计算机也不仅仅用于科学计算了,更多地应用系信息处理.那计算机怎样表示与我们生活息息相关的事物呢,一

PHP iconv(): Unknown error (84)

今天突然接到产品经理电话,说短信发送错误,发送短信接口已经运行三个多月了都是很正常,想当然的就认为是提供商那边有问题:就去找提供商了,搞了半天最终发现还是自己代码有问题. 没有办法,自己挖的坑自己得填啊,查代码看看哪里有问题,跟踪代码提示上图问题,很是迷茫啊,查官方文档吧, iconv(PHP 4 >= 4.0.5, PHP 5, PHP 7)iconv - 字符串按要求的字符编码来转换说明string iconv ( string $in_charset , string $out_chars

PHP iconv 解决utf-8和gb2312编码转换问题

终于皇天不负有心人,答案还是让我找到了. 网上的都是这样用的 代码如下: $content = iconv("utf-8","gb2312",$content); 这样做其实也对着了,看着确实是把utf-8转化为gb2312了,但是实际运行的话,往往都是以失败告终的,原因呢? 原因实际上也很简单,因为任何的函数都是执行错误的时候,同时很不幸的是iconv();就很终于出现错误.现在给你正确的答案. 真正的答案是这样的 复制代码 代码如下: $content = ic

遇到一个json解码失败的问题

今日批量导入游戏, 从别人接口拉去的字符串json_decode总是失败, 但是把log里面记录的解码失败的字符串copy出来单独解析,却可以成功. 排除了是字符编码的问题后, 还是不行, 百思不得其解. 只好二进制对比, 把接收到buf和我打印到log对比, 发现还真存在一些差异 分析:一个一个字节对比, 发现从第373个字节开始不匹配. 一个是9=>\t, 一个是32对应空格.373 not equal, org:9 , new:32 , 原来, 如果字符串中含有\t字符, 就会解码失败.

繁简转换OpenCC,autogb 和 autob5,iconv,python的jianfan包

OpenCC OpenCC 是跨平台.多语言的开放中文转换库,除了基本的简繁转换功能外,用户还可以选择对不同用词习惯和异体字的处理方式. OpenCC 还提供方便的网页转换界面. OpenOffice.Org的转换功能 OpenOffice.Org提供简繁功能,使用很方便(在工具->语言->中文简繁转换). Google翻译功能 Google翻译也可以做简繁转换,效果分析见后面. 使用cconv转换 cconv建立在iconv之上,增加了词语转换能力,效果分析见后面. Ubuntu用户可以用命

PHP上传文件失败,乱码问题

续上两篇<上传进度支持(Upload progress in sessions)>和<PHP文件上传进度条基于Session与Javascript实现>后,自己动手调试了一下,遇到几点问题,特记录如下: 1.上传大文件时失败,最后发现PHP.INI中的设置有问题. upload_max_filesize = 64M post_max_size = 64M 2.上传页面须打开SESSION.加如下代码. <?php session_start();?> 3.中文文件上传后

php 字符编码转换函数 iconv mb_convert_encoding比较

在使用PHP处理字符串时,我们经常会碰到字符编码转换的问题,你碰到过iconv转换失败吗? 发现问题时,网上搜了搜,才发现iconv原来有bug ,碰到一些生僻字就会无法转换,当然了配置第二个参数时,可以稍微弥补一下默认缺陷,不至于无法转换是截断,用法如下 iconv(“UTF-8″,”GB2312//IGNORE”,$data) ; 这样碰到生僻字转换失败时,它就会忽略失败,继续转换下面的内容,这算解决问题的一个办法,不过为了确保转换的成功率,我们可以用另一个转换函数(mb_convert_e

iconv: iconv_open(pToCharset, pFromCharset); 的附加参数//IGNORE

今天在转换一个文件时iconv() 老是返回 -1, 提示编码转换失败. 一共 30 多个文件, 原编码都是一样的,为什么有的转换会失败,返回 -1呢? 网上搜索了一下, 找到一个随加参数: //IGNORE 说是 iconv_open() 的第一个参数后面最好加上 //IGNORE  官方用法:iconv_open("gbk", "utf-8");  //将 utf-8 转换成 gbk在实际操作中,需要(最好)在第1个参数后面加上“//IGNORE”,即: ico