当前位置:首页 > 详细阐述PHP环境下如何将gbk编码转成utf8格式

详细阐述PHP环境下如何将gbk编码转成utf8格式

点击次数:1497  更新日期:2011-01-04
\n

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


\n

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


\n

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


\n

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


\n

增加了如下几点:


\n

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


\n

使用说明:
暂时程序支持以下字符编码方式:
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,并现实错误信息


\n

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


\n

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


\n

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


\n

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


\n

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

\n