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作的文本留言本的例子(二)
Oct 09 PHP
令PHP初学者头疼十四条问题大总结
Nov 12 PHP
php 生成随机验证码图片代码
Feb 08 PHP
PHP句法规则详解 入门学习
Nov 09 PHP
php生成不重复随机数、数组的4种方法分享
Mar 30 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
Jan 05 PHP
php简单创建zip压缩文件的方法
Apr 30 PHP
基于thinkPHP框架实现留言板的方法
Oct 17 PHP
PHP有序表查找之二分查找(折半查找)算法示例
Feb 09 PHP
详解PHP队列的实现
Mar 14 PHP
Thinkphp整合阿里云OSS图片上传实例代码
Apr 28 PHP
phpStorm2020 注册码
Sep 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
一个PHP验证码类代码分享(已封装成类)
Jul 17 #PHP
You might like
改变Apache端口等配置修改方法
2008/06/05 PHP
php&amp;mysql 日期操作小记
2012/02/27 PHP
PHP入门之常量简介和系统常量
2014/05/12 PHP
php实现utf-8转unicode函数分享
2015/01/06 PHP
PHP框架Laravel学习心得体会
2015/10/28 PHP
php flush无效,IIS7下php实时输出的方法
2016/08/25 PHP
一个非常实用的php文件上传类
2017/07/04 PHP
使用PHP访问RabbitMQ消息队列的方法示例
2018/06/06 PHP
PHP正则判断一个变量是否为正整数的方法
2019/02/27 PHP
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
jquery复选框checkbox实现删除前判断
2014/04/20 Javascript
node.js中的fs.realpath方法使用说明
2014/12/16 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
vue.js提交按钮时进行简单的if判断表达式详解
2018/08/08 Javascript
浅谈Vue 自动化部署打包上线
2020/06/14 Javascript
Vue清除定时器setInterval优化方案分享
2020/07/21 Javascript
Python基于pygame实现的弹力球效果(附源码)
2015/11/11 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
python定时按日期备份MySQL数据并压缩
2019/04/19 Python
Python使用pyyaml模块处理yaml数据
2020/04/14 Python
Python内置异常类型全面汇总
2020/05/28 Python
米兰必去买手店排行榜首位:Antonioli
2016/09/11 全球购物
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
Nike瑞士官网:Nike CH
2021/01/18 全球购物
应聘自荐书
2013/10/08 职场文书
个人评语大全
2014/05/04 职场文书
实习生矿工检讨书
2014/10/13 职场文书
2014年学生资助工作总结
2014/12/18 职场文书
药店营业员岗位职责
2015/04/14 职场文书
2016年小学感恩节活动总结
2016/04/01 职场文书
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server
dubbo服务整合zipkin详解
2021/07/26 Java/Android
MySQL千万级数据表的优化实战记录
2021/08/04 MySQL
简单聊聊TypeScript只读修饰符
2022/04/06 Javascript