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編碼察看,將會看到正確的字符
新聞熱點
疑難解答