PHP通过iconv将字符串从GBK转换为UTF8字符集


Posted in PHP onJuly 18, 2011

1. iconv()介绍
iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件。例如:从GB2312转换为UTF-8。
iconv函数在php5中内置,GB字符集默认打开。
2. iconv()错误
iconv在转换字符”—”到gb2312时会出错,解决方法是在需要转成的编码后加 “//IGNORE”,也就是iconv函数第二个参数后.如下:

iconv("UTF-8", "GB2312//IGNORE", $data)

ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。
3. iconv()例子
例1:
<?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'); //得到设定编码的字符串长度 
?>

例2:
如果你的PHP文件是UTF-8编码的,那么下面的代码就可以正确输出:
<?php 
$str='我爱百度'; 

$utf=''; 

for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); 

echo $utf; 
?>

如果你的PHP文件是GB的,那么下面的代码可以工作:
<?php 
$str='我爱百度'; 

$str=iconv("GBK", "UTF-8", $str); 

$utf=''; 

for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); 

echo $utf; 
?>

以上情况下,程序输出的内容是:
%E6%88%91%E7%88%B1%E7%99%BE%E5%BA%A6
PHP 相关文章推荐
PHP也可以?成Shell Script
Oct 09 PHP
使PHP自定义函数返回多个值
Nov 26 PHP
php下一个阿拉伯数字转中文数字的函数
Jul 16 PHP
Ajax PHP 边学边练 之三 数据库
Nov 26 PHP
php xml常用函数的集合(比较详细)
Jun 06 PHP
PHP 登录完成后如何跳转上一访问页面
Jan 14 PHP
php导出excel格式数据问题
Mar 11 PHP
php编写批量生成不重复的卡号密码代码
May 14 PHP
php判断对象是派生自哪个类的方法
Jun 20 PHP
PHP弹出对话框技巧详细解读
Sep 26 PHP
php校验公钥是否可用的实例方法
Sep 17 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
Dec 20 PHP
PHP中英混合字符串截取函数代码
Jul 17 #PHP
PHP操作数组的一些函数整理介绍
Jul 17 #PHP
如何突破PHP程序员的技术瓶颈分析
Jul 17 #PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 #PHP
PHP二维数组的去重问题解析
Jul 17 #PHP
简单的PHP多图上传小程序代码
Jul 17 #PHP
一个PHP验证码类代码分享(已封装成类)
Jul 17 #PHP
You might like
php文件操作相关类实例
2015/06/18 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
thinkPHP框架整合tcpdf插件操作示例
2018/08/07 PHP
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
封装属于自己的JS组件
2016/01/27 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
2016/06/30 Javascript
浅谈jquery上下滑动的注意事项
2016/10/13 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
2017/06/19 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
小程序实现自定义导航栏适配完美版
2019/04/02 Javascript
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
2018/03/15 Python
PyQt5 pyqt多线程操作入门
2018/05/05 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
python批量修改交换机密码的示例
2020/09/22 Python
python3中布局背景颜色代码分析
2020/12/01 Python
python实现PolynomialFeatures多项式的方法
2021/01/06 Python
日本面向世界,国际级的免税在线购物商城:DOKODEMO
2017/02/01 全球购物
娇韵诗加拿大官网:Clarins加拿大
2017/11/20 全球购物
德国受欢迎的旅游和休闲网站:lastminute.de
2019/09/23 全球购物
编程实现当输入某产品代码则打印出该产品记录的功能
2014/05/03 面试题
写一个用矩形法求定积分的通用函数
2012/11/08 面试题
企业管理培训感言
2014/01/27 职场文书
教师网络培训感言
2014/03/09 职场文书
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
保安公司服务承诺书
2014/05/28 职场文书
学校个人对照检查材料
2014/08/26 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
车辆转让协议书
2014/09/24 职场文书
酒店服务员岗位职责
2015/02/09 职场文书
怎样评估创业计划书是否有可行性?
2019/08/07 职场文书