php下使用iconv需要注意的问题
string iconv ( string $in_charset , string $out_charset , string $str )
在使用这个函数进行字符串编码转换时,需要注意,如果将utf-8转换为gb2312时,可能会出现字符串被截断的情况发生。
//author:zhxia
$str=iconv('utf-8',"gb2312//TRANSLIT",file_get_contents($filepath));
即在第二个参数出添加红色字部分,表示:如果在目标编码中找不到与源编码相匹配的字符,会选择相似的字符进行转换。
此处也可以使用://IGNORE 这个参数,表示忽略不能转换的字符。
相关推荐
-
PHP iconv 解决utf-8和gb2312编码转换问题
终于皇天不负有心人,答案还是让我找到了. 网上的都是这样用的 复制代码 代码如下: $content = iconv("utf-8","gb2312",$content); 这样做其实也对着了,看着确实是把utf-8转化为gb2312了,但是实际运行的话,往往都是以失败告终的,原因呢? 原因实际上也很简单,因为任何的函数都是执行错误的时候,同时很不幸的是iconv();就很终于出现错误.现在给你正确的答案. 真正的答案是这样的 复制代码 代码如下: $content
-
PHP iconv 函数转gb2312的bug解决方法
iconv( "UTF-8", "gb2312//IGNORE" , $FormValues['a']) ignore的意思是忽略转换时的错误,发现iconv在转换字符"-"到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存. 另外mb_convert_encoding没有这个bug,所以最好的写法是: mb_convert_encoding($FormValues['a'], "gb2312"
-
linux系统上支持php的 iconv()函数的方法
1.下载libiconv函数库http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz: 2.解压缩tar -zxvf libiconv-1.9.2.tar.gz; 3.安装libiconv 复制代码 代码如下: #configure --prefix=/usr/local/iconv #make #make install 4.重新编译php 增加编译参数--with-iconv=/usr/local/iconv windows下 最近
-
PHP中mb_convert_encoding与iconv函数的深入解析
mb_convert_encoding这个函数是用来转换编码的.原来一直对程序编码这一概念不理解,不过现在好像有点开窍了. 不过英文一般不会存在编码问题,只有中文数据才会有这个问题.比如你用Zend Studio或Editplus写程序时,用的是gbk编码,如果数据需要入数据库,而数据库的编码为utf8时,这时就要把数据进行编码转换,不然进到数据库就会变成乱码.mb_convert_encoding的用法见官方:http://php.net/manual/zh/function.mb-conve
-
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
不过英文一般不会存在编码问题,只有中文数据才会有这个问题.比如你用Zend Studio或Editplus写程序时,用的是gbk编码,如果数据需要入数据库,而数据库的编码为utf8时,这时就要把数据进行编码转换,不然进到数据库就会变成乱码. mb_convert_encoding的用法见官方: http://cn.php.net/manual/zh/function.mb-convert-encoding.php 做一个GBK To UTF-8 复制代码 代码如下: <?php header(&qu
-
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
iconv - Convert string to requested character encoding(PHP 4 >= 4.0.5, PHP 5) mb_convert_encoding - Convert character encoding(PHP 4 >= 4.0.6, PHP 5) 用法: string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] ) 需要先启用 mbs
-
PHP通过iconv将字符串从GBK转换为UTF8字符集
1. iconv()介绍 iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件.例如:从GB2312转换为UTF-8. iconv函数在php5中内置,GB字符集默认打开. 2. iconv()错误 iconv在转换字符"-"到gb2312时会出错,解决方法是在需要转成的编码后加 "//IGNORE",也就是iconv函数第二个参数后.如下: 复制代码 代码如下: iconv("UTF-8", "GB2312//IGNO
-
php中iconv函数使用方法
iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库. 1.下载libiconv函数库http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz: 2.解压缩tar -zxvf libiconv-1.9.2.tar.gz; 3.安装libiconv #configure --prefix=/usr/local/iconv #make #make install 4.重新编译
-
php iconv() : Detected an illegal character in input string
开始是这样用的$str = iconv('UTF-8', 'GB2312', unescape(isset($_GET['str'])? $_GET['str']:''));上线后报一堆这样的错:iconv() : Detected an illegal character in input string 考虑到GB2312字符集比较小,换个大的吧,于是改成GBK:$str = iconv('UTF-8', 'GBK', unescape(isset($_GET['str'])? $_GET['
-
基于php iconv函数的使用详解
unix下安装PHP的module,需要重新编译PHP,Windows下安装模板,只需将php.ini里的配置打开相应的dll就可,例如,需要加入gb库的支持,需要如下设置:extension_dir = "C:/ipaddr/php/extensions/"(注意,建议写全地址,并且后面加上/,很多时候是因为这里设置不对,才导致无法加载其它模块的dll的)再打开extension=php_gd2.dll但如果是安装iconv.dll,按上面方法,打开php_iconv.dll后,还是
随机推荐
- ruby基本数据类型简明介绍
- Mongodb批量删除gridfs文件实例
- jQuery实现倒计时按钮功能代码分享
- linux中mac地址绑定方法
- Swift 2.1 为 UIView 添加点击事件和点击效果
- 在Oracle PL/SQL中游标声明中表名动态变化的方法
- 在具有共享存储的xen Server上实现共享VM的启动方法
- 原生JS封装Ajax插件(同域、jsonp跨域)
- android POST数据遇到的UTF-8编码(乱码)问题解决办法
- 修改ligerui 默认确认按钮的方法
- bat下变量截取实例
- arguments对象验证函数的参数是否合法
- jquery删除数组中重复元素
- 关于jQuery中fade(),show()起始位置的一点小发现
- jquery 显示*天*时*分*秒实现时间计时器
- Nginx反斜杠自动解码问题解决方法
- asp.net中利用ashx实现图片防盗链的原理分析
- android自定义Camera拍照并查看图片
- 细看网络仿真工具
- Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
