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
|