firebird field size 問題 |
答題得分者是:leveon
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
請問各位:
七月半快到了, 最近我的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.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
leveon
資深會員 發表:30 回覆:389 積分:303 註冊:2012-02-12 發送簡訊給我 |
https://firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-datatypes-chartypes.html
UnicodeMost current development tools support Unicode, implemented in Firebird with the character sets UNICODE_FSS. UNICODE_FSS is more limited and is used mainly by Firebird internally for storing metadata. Keep in mind that one 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.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |