[分享]MySQL與程式腳本間資料傳輸的編碼關係與調整

WOG設定安裝教學

版主: 涅魂, 簫哥


涅魂
 
文章: 4463
註冊時間: 2004-01-04 11:17 am
來自: Taiwan
性別: 男生

[分享]MySQL與程式腳本間資料傳輸的編碼關係與調整

文章涅魂 » 2008-07-12 10:28 pm

MySQL中有許多預設變數,其中character_set_client, character_set_connection, character_set_result扮演著控制資料庫與程式之間檔案傳輸的字元編碼

當MySQL從程式取得一串Query時,MySQL會將這串Query的編碼視為character_set_client的值,並將其編碼轉為character_set_connection所指定的編碼

而MySQL傳送資料到程式時MySQL會將傳出資料的編碼轉為character_set_result的編碼後再送出

因此,若今天有一個big5的資料庫要與utf8編碼的程式互動,則這三個預設變數可以如下設定
代碼: 選擇全部
SET CHARACTER_SET_CLIENT=utf8;
SET CHARACTER_SET_CONNECTION=big5;
SET CHARACTER_SET_RESULTS=utf8;

如此一來,MySQL會將來自程式的Query視為UTF8編碼並轉碼成big5,而送資料時則會先將資料編碼轉成UTF8後才會送出

所以說,透過這三個變數可以用來整合不同charset的資料庫與程式,如果運用得當的話不管您是使用utf8還是big5或gbk的wog主程式、SQL資料都可以透過這個方式來結合

希望這能給大家當作一點參考,而如果有興趣的話也可以實地測試看看 :wink:


最後由 涅魂 於 2008-07-23 9:05 am 編輯,總共編輯了 1 次。
圖檔


黑咪
 
文章: 161
註冊時間: 2007-12-24 11:23 am
性別: 男生

文章黑咪 » 2008-07-13 10:20 am

太棒了
就算是UTF8版本的管理台也可以用在BIG5版本WOG上
不過就是查看CHAT記錄時會亂碼~.~




涅魂
 
文章: 4463
註冊時間: 2004-01-04 11:17 am
來自: Taiwan
性別: 男生

文章涅魂 » 2008-07-13 11:25 am

有試過把log文件轉成utf8看看嗎?


圖檔


黑咪
 
文章: 161
註冊時間: 2007-12-24 11:23 am
性別: 男生

文章黑咪 » 2008-07-13 1:47 pm

@_@是啊
把CHAT也轉成UTF8來用看看@V@

成功了...謝謝

不過用了一會兒覺得怪怪的
也就還原成big5版了




回到 精華區

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 2 位訪客

cron