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

用access 2000軟體建一table,其欄位長度有疑惑?

答題得分者是:acqua
ry_lee
高階會員


發表:368
回覆:251
積分:123
註冊:2002-03-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-21 23:45:58 IP:211.76.xxx.xxx 未訂閱
我用access 2000軟體建一table,該table有一欄位其形態是文字長度設30(不是unicode編碼),我原認為在那欄位我最多只能輸入15個中文字或30個英數字,但願事實我能輸入30個中文字,請問為什麼呢?
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-21 23:58:03 IP:61.71.xxx.xxx 未訂閱
引言: 我用access 2000軟體建一table,該table有一欄位其形態是文字長度設30(不是unicode編碼),我原認為在那欄位我最多只能輸入15個中文字或30個英數字,但願事實我能輸入30個中文字,請問為什麼呢?
不好意思! 由兩篇討論來看, 您真的對中文結構並不清楚, 建議您先找一些有關中文相關電腦的書籍先了解一下, 在win平台下, 一般的資料結構來說, 長度的計算是以byte為單位, 中文是雙byte結構, 所以 30byte=15個中文字!
kgt
高階會員


發表:17
回覆:308
積分:165
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-22 06:43:57 IP:61.219.xxx.xxx 未訂閱
123456789012345678901234567890--每一個數字占一個byte(供下列對照用) ------------------------------ ABCDEFGHIJKLMNOPQRSTUVWXYZABCD-->英文及數字的半形一個字只占一個BYTE. 我原認為在那欄位我最多只能輸入-->中文字的一個字就占二個BYTES了.
acqua
一般會員


發表:3
回覆:24
積分:20
註冊:2005-09-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-11-22 17:09:28 IP:61.218.xxx.xxx 未訂閱
我剛也依發文者的描述試了一下.. 發現你就算用 unicode編碼 也是這樣 所以我們可以大膽猜測它是用Unicode的方式來存資料 (不管你有沒有挑選 unicode編碼) 可在 Help-->key in "Len"-->"字串函數操作的差異" 這個頁面 可找到 微軟的說法真的是這樣... 所以 你真的要做這樣的限制的話 必須你用程式碼去處理掉
kgt
高階會員


發表:17
回覆:308
積分:165
註冊:2002-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-11-23 21:46:42 IP:61.219.xxx.xxx 未訂閱
123456789012345678901234567890--每一個數字占一個byte(供下列對照用) ------------------------------ ABCDEFGHIJKLMNOPQRSTUVWXYZABCD-->英文及數字的半形一個字只占一個BYTE. 我原認為在那欄位我最多只能輸入-->中文字的一個字就占二個BYTES了.    請copy上段文字貼至文字檔中,才看得出其對齊的樣子
acqua
一般會員


發表:3
回覆:24
積分:20
註冊:2005-09-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-11-24 10:46:08 IP:61.218.xxx.xxx 未訂閱
是沒錯啦~~ 中文字基本上一個字是占2 bytes,英文只有一個... 但為了 在多種語言平台下都能正常顯示 所以Microsoft在很早以前就進入 Unicode的年代 而 Unicode 又可區分為 Unicode, Unicode BE, Utf-8 各自都有各自的儲存方法,,, 而演變的結果==> 是讓英文字用 2bytes 存入(Utf-8除外) 所以你在 Access 2000 設定 ? 個字,,, 它是用Unicod算的(只是不知道是哪一種)... 就會變成可輸入和英文字一樣數目的中文字數 當然上面這種狀況 會因資料庫而不同 像 MS-SQL 2000 ,,, 若用 char的型態,,,就只能輸入英文一半長度的中文字 若用 nchar的型態,,,就和Access 2000一樣(因為它用Unicode方式存)
系統時間:2024-05-17 13:32:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!