基于php iconv函数的使用详解


Posted in PHP onJune 09, 2013

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后,还是无法开启iconv模块,需要如下配置:
a.上iconv的官方下载站点
http://ftp.gnu.org/pub/gnu/libiconv/
下面Windows版的iconv文件:libiconv-1.9.1.bin.woe32.zip
将这文件解压,将bin/下面的charset.dll,iconv.dll,iconv.exe拷贝到c:/windows/ (或其它的系统PATH中)
(ipaddr提醒你,这步是必须的,php_iconv.dll也是调用GNU的iconv库的,所以,先要安装GNU的iconv库)

b.开启php.ini里面的php_iconv.dll

c.重启Apache,再在phpinfo();检测是否开启iconv。
最近在做一个程序,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。 让我郁闷了好一会儿,去网上一查资料才知道这是iconv函数的一个bug。iconv在转换字符"—"到gb2312时会出错
解决方法很简单,就是在需要转成的编码后加 "//IGNORE" 也就是iconv函数第二个参数后.如下:
以下为引用的内容:
iconv("UTF-8","GB2312//IGNORE",$data)
ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。

这个iconv()这个函数,在php5中是内置的.谢谢.

列子

<?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');         //得到设定编码的字符串长度
//也有这样用的
   $content = iconv("UTF-8","gbk//TRANSLIT",$content); 
?>
PHP 相关文章推荐
如何在WIN2K下安装PHP4.04
Oct 09 PHP
php 执行系统命令的方法
Jul 07 PHP
php include和require的区别深入解析
Jun 17 PHP
php网站被挂木马后的修复方法总结
Nov 06 PHP
php运行时动态创建函数的方法
Mar 16 PHP
PHP rsa加密解密使用方法
Apr 27 PHP
php生成二维码
Aug 10 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
Oct 13 PHP
PHP简单实现防止SQL注入的方法
Mar 13 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
May 06 PHP
Laravel框架学习笔记之批量更新数据功能
May 30 PHP
在laravel中实现事务回滚的方法
Oct 10 PHP
PHP页面间参数传递的四种方法详解
Jun 09 #PHP
利用PHP+JS实现搜索自动提示(实例)
Jun 09 #PHP
深入php处理整数函数的详解
Jun 09 #PHP
解决ajax+php中文乱码的方法详解
Jun 09 #PHP
PHP写的加密函数,支持私人密钥(详细介绍)
Jun 09 #PHP
PHP版 汉字转码的实现详解
Jun 09 #PHP
php批量上传的实现代码
Jun 09 #PHP
You might like
php之curl设置超时实例
2014/11/03 PHP
PHP微信开发之文本自动回复
2016/06/23 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
2016/10/08 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
JavaScript的模块化:封装(闭包),继承(原型) 介绍
2013/07/22 Javascript
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
JavaScript中5种调用函数的方法
2015/03/12 Javascript
jquery实现文本框textarea自适应高度
2016/03/09 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
Servlet实现文件上传,可多文件上传示例
2016/12/05 Javascript
AngularJS入门示例之Hello World详解
2017/01/04 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
详解Django中类视图使用装饰器的方式
2018/08/12 Python
使用Python轻松完成垃圾分类(基于图像识别)
2019/07/09 Python
django中使用Celery 布式任务队列过程详解
2019/07/29 Python
django echarts饼图数据动态加载的实例
2019/08/12 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
一款纯css3实现的鼠标经过按钮特效教程
2014/11/09 HTML / CSS
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
商场中秋节活动方案
2014/02/07 职场文书
怎样写好自我评价呢?
2014/02/16 职场文书
常务副总经理岗位职责
2014/04/12 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
2014年高一班主任工作总结
2014/12/05 职场文书
元旦晚会主持词开场白
2015/05/28 职场文书
婚礼答谢词范文
2015/09/29 职场文书
日本官方排名前10的动漫,名侦探柯南上榜,第一是一部创造历史的动漫
2022/03/18 日漫