前一阵子见到了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编码察看,将会看到正确的字符
程序下载地址:
http://dreamcity2000.myetang.com/encoding.zip
下载时请重新打开一个浏览器窗口然后输入上面的地址才能下载.
ps:程序如要转载,请和作者联系
|