详细阐述PHP环境下如何将GBK编码转成UTF-8格式

apache 字符集 GB 2312
mysql 字符集 GBK
现要从 mysql 中提出信息(GBK) 写入到 XML 中
XML中的编码格式是 UTF-8

那么,如何将GBK编码成 UTF8 ??

具体介绍:
前一阵子见到了qiushuiwuhen君的关于gbk,unicode,big5的转换的文章
但是多少有一些不太大的问题

于是我设计了一个负责字符转换的类,修正了其中的一些不足,增加了部分功能,以后我会不断扩充该类,来支持更多的字符集

增加了如下几点:

unicode->gbk 符号部分的转换
欧元符的识别
big5,Unicode,GBK之间的相互转换,前提是只转换共同的字符集部分,

使用说明:
暂时程序支持以下字符编码方式:
GBK,BIG5,UTF-16BE(Unicode big-endian字节顺序),UTF-16LE(Unicode little-endian字节顺序),UTF-8
默认输入编码方式为GBK,默认输出编码方式为UTF-16BE;
该类别提供两个函数用来修改输入和输出编码方式:
修改输入编码方式 boolean SetGetEncoding(string $GetEncoding)
修改输出编码方式 boolean SetToEncoding(string $ToEncoding)
函数参数只能使用上述5种编码方式,区分大小写,如GBK不能写成gbk
假如设置成功,返回true,假如使用了错误的编码名,返回false,并现实错误信息

函数
string EncodeString(string $String)
负责进行字符编码转换,返回转换后的字符串

使用前,请将var $FilePath=""变量该为该程序文件的绝对路径,否则将会找不到数据文件

例子:
将gbk编码的字符串转化为UTF-8编码:

$s="GBK编码";
$CharEncoding=new Encoding();
$CharEncoding->SetGetEncoding("GBK")||die("编码名错误");
$CharEncoding->SetToEncoding("UTF-8")||die("编码名错误");
echo $CharEncoding->EncodeString($s);

在浏览器中使用UTF-8编码察看,将会看到正确的字符

时间: 2024-09-27 07:15:01

详细阐述PHP环境下如何将GBK编码转成UTF-8格式的相关文章

listbox-在VS2010,Unicode字符集环境下,如何将float类型转换成CString类型?

问题描述 在VS2010,Unicode字符集环境下,如何将float类型转换成CString类型? 用format不好使,求指导 或者这样也可以,我想用sprintf函数将几个浮点型的数输入到一个char类型的数组中,然后将该数组转换成LPCTSTR格式,这样才能够插入LISTBOX 控件中,感觉太麻烦,有没有什么好的办法?相关代码如下: char Ana[50];int num=8;float tcost=1.0394;float tpsnt=33.244;sprintf(Anaaa"&qu

如何将gbk编码转成utf8格式

编码 apache 字符集 GB 2312mysql 字符集 GBK现要从 mysql 中提出信息(GBK) 写入到 XML 中XML中的编码格式是 UTF-8 那么,如何将GBK编码成 UTF8 ?? 详细介绍:前一阵子见到了qiushuiwuhen君的关于gbk,unicode,big5的转换的文章 但是多少有一些不太大的问题 于是我设计了一个负责字符转换的类,修正了其中的一些不足,增加了部分功能,以后我会不断扩充该类,来支持更多的字符集 增加了如下几点: unicode->gbk 符号部分

详细讲解Linux环境下MySQL 5.1安装步骤

1.下载MySQL免安装版/二进制版软件 (不用编译) 文件格式:MYSQL-VERSION-OS.tar.gz 2.创建MySQL组,建立MySQL用户并加入到mysql组中 (不同版本的Unix中,groupadd和useradd的语法可能会稍有不同.) #groupadd mysql #useradd -g mysql mysql 3.进入目录/usr/local,解压缩免安装版,并在此目录中建立名为mysql的软链接 #cd /usr/local #gunzip < /path/to/M

OpenCV x64 vs2010 下打开摄像头录制视频写成avi(代码为转载)

首先参照下面这里进行opencv x64位机器下面的配置 http://wiki.opencv.org.cn/index.php/VC_2010%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.4.4   参考到环境变量处的配置之后,文章中所说的x64位机器环境的配置就不是很清晰了,我自己摸索了一些,其实vs2010本身就不是一个64位的编译器.       所以我认为,在64位的win7旗舰版系统中,这个编译器就是支持64位程序的编译运行.   但是vs2010中没有能够直

针对PHP环境下Fckeditor编辑器上传图片配置详细教程_网页编辑器

开启Fckeditor上传图片功能 考虑到目录安全性问题,默认Fckeditor2.6.6上传功能并未开启,所以第一步我们必须开启Fckeditor上传功能,这里需要注意,由于PHP版本Fckeditor上传功能需要用到chomod函数对新建目录进行权限设置,所以请务必确认在启用Fckeditor上传功能时PHP环境的用户具有创建和更改上传目录的权限. 如果没有开启Fckeditor上传功能,在点击插入/编辑图像按钮,选择上传,在选择完要上传的文件后点击发送到服务器上按钮时会报错误信息如下 复制

网盟环境下广告投放技巧浅析(一)

    最近,产品部用户体验团队的同学对联盟环境下投放广告进行了一系列研究,旨在以更科学的方式优化网盟广告投放,我们结合实验得出了各种投放策略下真实的实验数据,希望能给广告主和客服在投放广告时不仅知其然更能知其所以然,当然最终目的是在改善用户上网体验同时提升广告效果,形成用户与网站双赢局面. 在网盟环境下投放广告,一般会考虑广告与网页的形式.广告与网页的内容和浏览人群这三个方面.这次研究就是从以上三方面出发,研究网页信息密度,整页与分页广告价值,广告位置,广告内容与网页内容,人群兴趣.由于篇幅限

详细阐述云计算战略八项基本原则之一

Bob Deutsche上一次在Data Center Knowledge发表的文章<云计算课程>中,鉴别并定义了八个基于云计算的解决方案框架(solution-based framework CSBF),从一个纯粹的数据中心角度来看,这可能会超出我们的认知范围.Bob告诉我们,这些解决方案的划分并非全部是关于技术方面的,非但如此,文章还告诉我们如果因为过于关注技术上的细节而故略了如何实现这些架构的环境(私有云,公有云及混合云),是不可能成功的事实云计算战略的 该文章发表后得到了较好的反响,为

浏览器环境下JavaScript脚本加载与执行探析之defer与async特性_javascript技巧

defer和async特性相信是很多JavaScript开发者"熟悉而又不熟悉"的两个特性,从字面上来看,二者的功能很好理解,分别是"延迟脚本"和"异步脚本"的作用.然而,以defer为例,一些细节问题可能开发者却并不一定熟悉,比如:有了defer特性的脚本会延迟到什么时候执行:内部脚本和外部脚本是不是都能够支持defer:defer后的脚本除了会延迟执行之外,还有哪些特殊的地方等等.本文结合已有的一些文章以及MDN文档中对两个特性的阐述,对de

LinkedIn的工程师详述了生产环境下Kafka的调试和最佳实践

在本文中,LinkedIn的软件工程师Joel Koshy详细阐述了他和一个工程师团队是如何解决生产环境下Kafka的两次事故的.这两次事故是由于多个产品缺陷.特殊的客户行为以及监控缺失的交错影响导致的. 第一个缺陷是在LinkedIn的变更请求跟踪系统中观察到的,部署平台认为这是从服务发出的重复邮件.Koshy指出,其根本原因是由于消息格式的改变,和随后缓存加载在偏移管理器的终止,而这个偏移管理器已经被设置了一个旧的偏移量.由于这个主题分区上的低数据容量,日志压缩和清除触发器在部署的主题上从来