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

Delphi 7 在繁體中文環境開發簡體程式遇到的怪問題

 
reptile2015
一般會員


發表:2
回覆:6
積分:1
註冊:2007-02-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-01-30 10:36:28 IP:60.248.xxx.xxx 訂閱
當閒聊好了,理論上也不太可能花太多時間
去搞清楚 Delphi 7 怎麼處理了

日前要寫一支簡體版的程式
因為只是要把現在的程式,簡體化就好了
很懶得重新弄個新環境來架簡體OS (因為還要裝 DELPHI,就覺得很麻煩)
於是,我直接到 控制台 把 「非 Unicode 程式」的語言 改成 中國
重開機以後,果然可以用

對了,我有先試 Delphi 7 的多語系功能
結果有點問題,為了把握時間,我就不管了,直接複製整隻程式來翻譯
翻譯得差不多了,卻發現程式從 MSSQL 取到的資料,還是被自動轉成 BIG5 了
所以簡中程式的呈現就變亂碼了.....

後來,決定先弄 VM 架一個簡中OS 來測
結果,狀況變反過來了 XD
介面變亂碼,但是從 MSSQL 取到的資料就正常了

後來我去看 Delphi 7 的 FRM 檔
就發現,問題好像出在 Delphi 的編碼轉換上
以 TLabel 來說的話,Caption 存得會是 Unicode 這個我是已經知道的
結果,以「帳號」兩個字來說,我在簡中OS繁中語系下
Delphi 7 把「帳號」存成 #30464#33145 換成 16進位就是 7700 8179
呃,這個碼,看來不像是 Unicode 也不是 GB2312/GBK 也不是 BIG5
完全看不懂這個碼哪來的,可是 Delphi 7 呈現卻是正確的「帳號」兩個字
雖然程式拿到繁中OS下就變亂碼了 XD

這個編碼到底哪來的,真令人費解
不過,Delphi 7 也很舊了,好像花時間把這件事搞清楚
還不如花時間把程式升級到 Unicode 算了 XD

所以就當跟大家聊聊

mainchen2
一般會員


發表:3
回覆:16
積分:3
註冊:2006-07-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2013-01-30 12:01:43 IP:122.116.xxx.xxx 訂閱
 可以試試 TNTWare Delphi Unicode Components
http://www.axolot.com/TNT/
ANDY8C
資深會員


發表:114
回覆:582
積分:299
註冊:2006-10-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2013-01-30 12:51:50 IP:210.66.xxx.xxx 未訂閱
 delphi 7 不支援  UniCode 的處理
如果您只是顯示及存取要用到 unicode
那 TNT 元件就夠用了
不然要升級到更新版,..2010..xe,xe2,xe3....等

但也不是升級unicode 版後就沒事,很多通訊的傳輸過程
因升級 unicode 後,都不正常了
(在 delphi 7 / delphi 2007 是正常的),


------
---------------------------------------
偶爾才來 KTOP ,交流條碼問題,在 FB [條碼標籤達人] 社團留言,感恩.
系統時間:2024-04-20 19:46:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!