線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:217
推到 Plurk!
推到 Facebook!

firebird field size 問題

答題得分者是:leveon
P.D.
版主


發表:571
回覆:3887
積分:3677
註冊:2006-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2017-08-04 12:53:17 IP:118.169.xxx.xxx 未訂閱
請問各位:

七月半快到了, 最近我的firebird 發生一件怪事

環境: firebird 2.11x , create utf8格式, fdb檔案, SQLDialect = 3
XE 10.1 U2, WIN32 VCL form
其中所有string欄位皆定義為 varchar格式
例如
aa varchar(10)

IBDatabase 指定為 lc_ctylpe = 'UTF8'
但我在 該 IBQuery 上的 FieldEditor 中把所有 fields 加進來, 結果發現, 所有varchar 的 size 都變成4倍
如上, aa 的 size 變成了 40
如果我不建立 utf8的 fdb 則不會有這問題,
不知是那裡有設定錯誤?

ps. 這是我首次處理 fdb 為 utf8的格式, 以往都是用 unicode_fss 都沒這個問題_
編輯記錄
P.D. 重新編輯於 2017-08-04 12:55:56, 註解 無‧
P.D.
版主


發表:571
回覆:3887
積分:3677
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2017-08-04 15:55:33 IP:118.169.xxx.xxx 未訂閱
這看起來好像是 xe 10.1 u2 本身的問題, 
我使用 InterBase 的元件都有這個狀況,
我改用 Firedac 就沒有問題

所以
InterBase component FireBird UTF8 有問題???
leveon
資深會員


發表:30
回覆:386
積分:303
註冊:2012-02-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2017-08-04 23:25:23 IP:111.249.xxx.xxx 未訂閱
https://firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-datatypes-chartypes.html

Unicode

Most current development tools support Unicode, implemented in Firebird with the character sets UTF8 and UNICODE_FSS. UTF8 comes with collations for many languages. UNICODE_FSS is more limited and is used mainly by Firebird internally for storing metadata. Keep in mind that one UTF8 character occupies up to 4 bytes, thus limiting the size of CHAR fields to 8,191 characters (32,767/4).

至於你說 Firedac 沒這問題 很可能他是萬用型的DAC 為了一致所以自行除以4
專用型的DAC顯示實際的佔用空間當然比較好

這跟七月沒啥關係 有時候人對於無法解釋的大自然現象會與節氣週期產生聯想
但對於人造的電腦程式有這總思維也算是匪夷所思


===================引 用 P.D. 文 章===================
這看起來好像是 xe 10.1 u2 本身的問題,
我使用 InterBase 的元件都有這個狀況,
我改用 Firedac 就沒有問題

所以
InterBase component FireBird UTF8 有問題???
P.D.
版主


發表:571
回覆:3887
積分:3677
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2017-08-05 00:47:28 IP:118.169.xxx.xxx 未訂閱
感謝筅進的指導, 讓我對unicode有多一層的認識~~

ps. 七月用語只是一個心情的自嘲,xe 有時確實真的有莫名的狀況, 在之前的po文我也有提過, 讓人捉摸不定, 我通常會把電腦當成人來看, 所以常會以人文角度來自嘲解釋, 並非真有鬼神論~~
系統時間:2017-12-12 3:00:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!