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

問 有關中文字存入資料庫,會變成數字代碼的問題

答題得分者是:pcboy
小蚊子
中階會員


發表:55
回覆:267
積分:94
註冊:2002-06-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-25 11:27:30 IP:211.78.xxx.xxx 未訂閱
資料庫 : MySql 用 phpMyAdmin 的工具存入後,部分文字變成數字代碼 如下 : 游錫堃 , 王建煊 請問一下 1. 為何會如此! 2. 建立資料庫的欄位時 ,是否要將欄位長度加大,一般網友是如何思考此問題 例如 : 中文姓名 ,一般考慮 6 個中文字,所以 big5 下,用 12 的長度即可 上例 的情況,萬一都是 Unicode 是否要保留 7 x 6 = 42 的Bytes 的欄位長度,給原本 12 bytes 的姓名欄位使用. 3. 同事說,為了一次解決可能的狀況,所有欄位都用 MySql 的 TEXT 型態, 不知如此的建議是否可行???? 4. 此 &#nnnnn 已經存入資料庫,可是也是 "亂碼", 用 delphi tnt 元件讀出還是 "亂碼"不會出現中文字, 不是說 tnt 元件可以處理 UniCode 嗎??? 還是我誤會了該元件的意思 5. 網友您是如何解決以上的問題??? 不解?? 已經搜尋本網站的其他文章,但是看了後,還是無法解決我的問題 所以才再一次的問一下網友 謝謝您 !!
pcboy
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-25 12:22:17 IP:210.69.xxx.xxx 未訂閱
> 用 phpMyAdmin 的工具存入後,部分文字變成數字代碼 > 如下 : 游錫? , 王建? > > 請問一下 > 1. 為何會如此! 因為那些文字是 UniCode , 不是 BIG5 將您的文字貼到不支援 UniCode 編輯的 Editor 就知道是否為 UniCode 了 (上面的 游錫? , 王建? 出現了兩個問號, 表示有兩個字是 UniCode) >2. 建立資料庫的欄位時 ,是否要將欄位長度加大,一般網友是如何思考此問題 >例如 : 中文姓名 ,一般考慮 6 個中文字,所以 big5 下,用 12 的長度即可 >上例 的情況,萬一都是 Unicode 是否要保留 7 x 6 = 42 的Bytes >的欄位長度,給原本 12 bytes 的姓名欄位使用. UniCode 也是 2 bytes 吧, 6 個中文字 12 bytes >3. 同事說,為了一次解決可能的狀況,所有欄位都用 MySql 的 TEXT 型態, >不知如此的建議是否可行???? TEXT 欄位有其優缺點, 可以容納較多字數, 但速度會比較慢 (支援 WHERE 條件搜尋嗎 ?) >4. 此 &#nnnnn 已經存入資料庫,可是也是 "亂碼", >用 delphi tnt 元件讀出還是 "亂碼"不會出現中文字, >不是說 tnt 元件可以處理 UniCode 嗎??? 還是我誤會了該元件的意思 沒用過 TNT 元件, 不知道是如何支援的 >5. 網友您是如何解決以上的問題??? 上面已經說明 >不解?? >已經搜尋本網站的其他文章,但是看了後,還是無法解決我的問題 >所以才再一次的問一下網友 >謝謝您 !!
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
小蚊子
中階會員


發表:55
回覆:267
積分:94
註冊:2002-06-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-25 13:02:51 IP:211.78.xxx.xxx 未訂閱
引言: 用 phpMyAdmin 的工具存入後,部分文字變成數字代碼 如下 : 游錫堃 , 王建煊
上次貼的原稿,怎會顯示我要的字(是 web form 的關係嗎?? 還是 ie 的轉換), 原來貼的是 如下的碼文數字 游錫 & # 2 2 5 3 1 王建 & # 2 9 0 0 2 資料庫看見的是以上的碼文數字(加空白隔開) 我的需求是,不管存入資料庫是何種型態,只要螢幕顯示"字"就可以 還是 & # 2 2 5 3 1 的型態, 在 web form 可以,win form 就不行
wyndog
資深會員


發表:7
回覆:362
積分:348
註冊:2004-10-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-25 13:04:22 IP:60.248.xxx.xxx 未訂閱
會不會是 MySQL 的設定沒設好 沒有設定成支援 Unicode? 我覺得這非常有可能
pcboy
版主


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-25 14:47:43 IP:210.69.xxx.xxx 未訂閱
>上次貼的原稿,怎會顯示我要的字(是 web form 的關係嗎?? 還是 ie 的轉換), IE >原來貼的是 如下的碼文數字 >游錫 & # 2 2 5 3 1 >王建 & # 2 9 0 0 2 >資料庫看見的是以上的碼文數字(加空白隔開) >我的需求是,不管存入資料庫是何種型態,只要螢幕顯示"字"就可以 >還是 & # 2 2 5 3 1 的型態, >在 web form 可以,win form 就不行 web form 可以,win form 就不行, 因為後者不支援 or 預設用 BIG5 字型顯示 試試看下面幾種方法 1.MySQL 安裝時候, 設定為 UniCode 2.Win Form 改用 UniCode 字型顯示 3.換別種資料庫, 例如 MS-SQL Server
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
小蚊子
中階會員


發表:55
回覆:267
積分:94
註冊:2002-06-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-26 14:16:06 IP:211.78.xxx.xxx 未訂閱
引言: 會不會是 MySQL 的設定沒設好 沒有設定成支援 Unicode? 我覺得這非常有可能
MySql 重新設定成 UniCode ,原本 堃 (ㄎㄨㄣ) ,存入後是 & # n n n n n 改成 UniCode 後 ,變成 ? (問號)
小蚊子
中階會員


發表:55
回覆:267
積分:94
註冊:2002-06-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-04-26 14:28:07 IP:211.78.xxx.xxx 未訂閱
刪 發表人 - 小蚊子 於 2005/04/26 14:36:40
小蚊子
中階會員


發表:55
回覆:267
積分:94
註冊:2002-06-08

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-04-26 14:32:49 IP:211.78.xxx.xxx 未訂閱
引言: 試試看下面幾種方法 1.MySQL 安裝時候, 設定為 UniCode 2.Win Form 改用 UniCode 字型顯示 3.換別種資料庫, 例如 MS-SQL Server
ans . 1. 已經改了,結果如上一篇說明 2. Win Form 要如何改用 UniCode ?? 問題很白目,但是我真的不懂?? 3. 客戶有 網頁的系統配合 MySql ,所以我可能配合著去做..... 謝謝您 !! 在 delphi 架構下,Web Form , Browser Base ... 我是沒有實際寫過程式,不知如何入門,因為 Delphi 都是自己摸索, 所以很少嘗試新的寫法,一直 "困" 在 win Form 中 所以若沒有範例或參考的案例,我是會學的很慢很慢的 .......有範例可以看/練習嗎?? 用 Win Form 的目的??? 用 Web Form 的目的??? 它與 Browser Base 的寫法是否不同 ?? 各有何目的 ?? 很納悶 ??!!
pcboy
版主


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-04-28 15:21:46 IP:210.69.xxx.xxx 未訂閱
測試了一下, Delphi 7 的 Form 不支援 UniCode (與設定無關) MySQL 的語系影響在寫入和讀取時候 如果寫入為 A 語系 MySQL 設定修改為 B 語系 已經存入資料庫中的資料應該不會自動跟著變成 B 語系 此時用 B 語系設定讀取, 顯示可能會錯誤 將資料全部匯出, 修改語系, 全部匯入 看看 http://www.infolight.com.tw/journal/index_view.asp?no=45&filepath=/journal/file/BOOK81.htm Delphi 8簡介 Delphi8是Borland針對.Net所開發的軟體開發工具,主要的應用程式區分為:Win From 、 VCL Form和Web Form三種;說明如下: Win Form: 和MicroSoft的.Net開發方式相同,是以. Net為平台的Windows Form為基礎,其開發方式類似傳統的Windows,透過.Net平台,你可以輕易的存取Internet上遠端Server主機來取得資料,這種方式就好像原來Delphi的ClientDataSet觀念,但在.Net平台上已經幫你架構好了,讓你開發3-Tier的程式更為容易,你只要在Client端也安裝.Net的Frame Work即可。 Web Form: 這種Form就好像是ASP或ASP ,可以讓Client端完全不必安裝任何程式即可直接在Browser中來運行,一般Web From必須搭配Web Server(微軟的IIS)來相互作用,並能透過IIS來與User Client產生互動,所以大都的Web Form也都是在Web Server上執行,在Delphi8中其增加DBWebDataSource和DBWeb Controls來補強MicroSoft在Web Form以Web Controls為主的開發方式,此方案即所謂的Pure Web的系統。 VCL Form: 則是以傳統的VCL為基礎的開發方式,為了能讓原來Deliphi 7以前所寫的程式可以使用,Delphi8儘量以VCL相似的元件為核心,讓你可以少許變動之下,即可讓原來的程式可以在.Net上執行,此方式的缺點是一個過度時期,VCL是以Windows為規劃核心的,與.Net的架構應該是格格不入,所以Delphi在VCL .Net做很多模擬的程式,如此會讓整個程式的效能降低許多,並且也不能保證所有原VCL的程式寫法都可用在VCL .Net上。 ********************* 如果您滿意答案,請結案 ********************* 發表人 - pcboy2 於 2005/04/28 15:36:10
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

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