前一陣子見到了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:程序如要轉載,請和作者聯系