如何将gbk编码转成utf8格式

编码

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编码察看,将会看到正确的字符.

附件: encoding.zip

时间: 2024-12-04 02:36:19

如何将gbk编码转成utf8格式的相关文章

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

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

3dmax导出的obj有时需要转成utf-8格式才能被ios读取

3dmax导出的obj有时需要转成utf-8格式才能被ios读取 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 在做OpenGL ES研究过程中,需要加载3dmax导出的obj模型文件,该文件

偶数汉字转utf-8-VB将汉字字符串转换成 UTF-8格式

问题描述 VB将汉字字符串转换成 UTF-8格式 VB将汉字字符串转换成 UTF-8格式后按照JSON格式提交给服务器,偶数个汉字没有问题,但奇数个汉字时,会有问题,请大师指导. Private Declare Function MultiByteToWideChar Lib "kernel32 " (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiBy

sublime如何设置成utf-8格式?

问题描述 sublime如何设置成utf-8格式? 我按照网上的说法设置了default_encoding = utf-8,但是每次新建的文件都是ansi格式的,这该如何解决? 解决方案 保存的时候再来改下就行

jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)_jquery

前言: 当jquery ajax在utf-8编码下(页面utf-8,接收utf-8),无任何问题.可以正常post.get,处理页面直接获取正确的内容. 但在以下情况下: GBK -> AJAX POST ->GBK UTF-8 -> AJAX POST ->GBK 后台代码无法获取正确的内容,通常表现为获取到奇怪字符.问号. 经典解决方法: 1:发送页面.接收页面均采用UTF-8编码. 2:发送页面在调用ajax post方法之前,将含有中文内容的input用encodeURIC

velocity-ecplise设置编码UTF-8,打成jar包以及exe程序的时候,文件生成却成了GBK编码

问题描述 ecplise设置编码UTF-8,打成jar包以及exe程序的时候,文件生成却成了GBK编码 最近写了个代码生成器,主要用到velocity,编码设置UTF-8,在eclipse运行正常.在打成jar包以及exe程序的时候,文件生成却成了GBK编码,所以velocity模板有中文用eclipse打开出现乱码,原因在于生成文件编码GBK而eclipse是UTF-8.请教大神们,怎么确保exe生成文件也是UTF-8.有什么方法.万分感谢 解决方案 问题已解决.我检查了下代码,只设置了模板编

基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)

php导入到excel乱码是因为utf8编码在xp系统不支持所有utf8编码转码一下就完美解决了utf-8编码案例Php代码 复制代码 代码如下: <?php header("Content-Type: application/vnd.ms-excel; charset=UTF-8"); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: m

mysql-怎样修改数据库的默认编码,想把它改成utf8的?

问题描述 怎样修改数据库的默认编码,想把它改成utf8的? +--------------------------+----------------------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------------------+ | character_set_client | gbk | | character

环境-linux netbeans php创建 php文件编码不能保存为 utf-8格式

问题描述 linux netbeans php创建 php文件编码不能保存为 utf-8格式 我的系统是debian7.7,环境是lnmp,netbeans版本是8.0.2,在创建编辑纯php文件时不能保存UTF-8,一直都是gbk,创建项目选择utf-8,编辑也不行, ps:打开UTF-8得php文件没问题 解决方案 你有已经为utf-8的文件没,拷贝一个过去,改名字和里面内容也一样的.有的编辑器能改的