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缓存类代码(附详细说明)
Jun 09 PHP
解析PHP汉字转换拼音的类
Jun 18 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
May 10 PHP
如何让搜索引擎抓取AJAX内容解决方案
Aug 25 PHP
ThinkPHP函数详解之M方法和R方法
Sep 10 PHP
微信随机生成红包金额算法php版
Jul 21 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
PHP Header失效的原因分析及解决方法
Nov 16 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
详细解读php的命名空间(一)
Feb 21 PHP
PHP大文件切割上传功能实例分析
Jul 01 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 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新手上路(十四)
2006/10/09 PHP
php文本转图片自动换行的方法
2013/03/13 PHP
CentOS安装php v8js教程
2015/02/26 PHP
PHP判断一个数组是另一个数组子集的方法详解
2017/07/31 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
javascript 表单的友好用户体现
2009/01/07 Javascript
Javascript 错误处理的几种方法
2009/06/13 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
JS定义网页表单提交(submit)的方法
2015/03/20 Javascript
javascript 实现map集合
2015/04/03 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
2015/07/10 Javascript
基于jQuery实现的美观星级评论打分组件代码
2015/10/30 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
JavaScript判断数组重复内容的两种方法(推荐)
2016/06/06 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
2017/08/21 Javascript
vue本地打开build后生成的dist文件夹index.html问题
2019/09/04 Javascript
python使用win32com在百度空间插入html元素示例
2014/02/20 Python
Python中json格式数据的编码与解码方法详解
2016/07/01 Python
Python的标准模块包json详解
2017/03/13 Python
python在每个字符后添加空格的实例
2018/05/07 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
同步和异步有何异同,在什么情况下分别使用他们?举例说明
2014/02/27 面试题
《燕子》教学反思
2014/02/18 职场文书
学校志愿者活动总结
2014/06/27 职场文书
学习十八大的心得体会
2014/09/12 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
三年级学生评语大全
2014/12/26 职场文书
技术员个人工作总结
2015/03/03 职场文书
小学国庆节活动总结
2015/03/23 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
浅谈Python 中的复数问题
2021/05/19 Python