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