全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:8509
推到 Plurk!
推到 Facebook!

delphi mysql 的亂碼問題

答題得分者是:pcboy
emilynatiki
一般會員


發表:5
回覆:8
積分:2
註冊:2007-02-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-02-10 01:24:20 IP:125.31.xxx.xxx 訂閱
各位高手...這個亂碼問題困擾我很久~~我都找不到解決方案..希望各位多多幫忙

我是用delphi 與mysql連線....因為db中的table的屬性是unicode....

但在delphi 中顯示db中的中文都變成了"???"

我在上網找過...聽說tntware可以解決unicode的問題...放是我再用tnt控件可以再連一次db~~但出來的都是"???"

而且我也安裝了unicode補完計畫~~但是問題都不能解決....

因為我是初學者~~我不知道是否還有哪些設定呢?還是我用錯了方法呢?

希望各位大大幫忙~~感激各位
編輯記錄
Coffee 重新編輯於 2007-10-12 10:15:48, 註解 修改分類為問題‧
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-02-10 09:36:12 IP:203.204.xxx.xxx 訂閱
從另一角度思考, Delphi 本來就不支援 UniCode ,
強行用 TNTWare 可能也無法 100% 支援
為何不將 MySQL 改成 Big5 的

到 /usr/share/mysql/ 依照需求來選一個 cnf 檔。(需要的記憶體配置在各檔檔頭都有)
如果沒有特別需求,可用 my-medium.cnf 。將它拷貝到 /etc 並改名為 my.cnf,指令如下:
#cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
再來就是修改 my.cnf
#vi /etc/my.cnf
找到以下內容
[mysqld]
port=3306
socket=/usr/lib/mysql/mysql.sock
default-character-set=big5 //自行加入這一即可,也就是設定預設字集為 big5

存檔後只要重新啟動 MySQL 就可以了:
#service mysql restart


------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
emilynatiki
一般會員


發表:5
回覆:8
積分:2
註冊:2007-02-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-02-10 10:53:51 IP:125.31.xxx.xxx 訂閱
應謝大大的解答~~
也跟著步驟改了conf....在mysql看是沒有問題~~
但delphi看還是"???", 不知道dbgrid是不是另做什麼設定才好解決呢?而且如果透過delphi做data input~~輸入的內容在mysql看不知道為什麼都變了亂碼了....
不好意思~又麻煩大大們了~~
harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-03-15 09:23:53 IP:211.21.xxx.xxx 未訂閱
連線後先指定編碼"SET NAMES big5"

"SET NAMES big5"的作用相當於下
SET character_set_client = big5;
SET character_set_results = big5;
SET character_set_connection = big5;

請參閱http://dev.mysql.com/doc/refman/5.0/en/charset.html
------
~§~迷時師渡,悟了自渡~§~
jrsty
一般會員


發表:1
回覆:11
積分:7
註冊:2008-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-11-12 09:32:55 IP:60.249.xxx.xxx 訂閱
===================引 用 harpist 文 章===================
連線後先指定編碼"SET NAMES big5"

"SET NAMES big5"的作用相當於下
SET character_set_client = big5;
SET character_set_results = big5;
SET character_set_connection = big5;

請參閱http://dev.mysql.com/doc/refman/5.0/en/charset.html






我也有這個問題~~ 但是我設定set names big5 之後 還是一樣不行也@@ 有沒有辦法可以補救呢?

jrsty
一般會員


發表:1
回覆:11
積分:7
註冊:2008-10-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-11-12 10:16:47 IP:60.249.xxx.xxx 訂閱
===================引 用 harpist 文 章===================
連線後先指定編碼"SET NAMES big5"

"SET NAMES big5"的作用相當於下
SET character_set_client = big5;
SET character_set_results = big5;
SET character_set_connection = big5;

請參閱http://dev.mysql.com/doc/refman/5.0/en/charset.html






我也有這個問題~~ 但是我設定set names big5 之後 還是一樣不行也@@ 有沒有辦法可以補救呢?

系統時間:2024-04-26 15:14:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!