問 有關中文字存入資料庫,會變成數字代碼的問題 |
答題得分者是:pcboy
|
小蚊子
中階會員 發表:55 回覆:267 積分:94 註冊:2002-06-08 發送簡訊給我 |
資料庫 : 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 發送簡訊給我 |
> 用 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 發送簡訊給我 |
引言: 用 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 發送簡訊給我 |
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
>上次貼的原稿,怎會顯示我要的字(是 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 發送簡訊給我 |
|
小蚊子
中階會員 發表:55 回覆:267 積分:94 註冊:2002-06-08 發送簡訊給我 |
|
小蚊子
中階會員 發表:55 回覆:267 積分:94 註冊:2002-06-08 發送簡訊給我 |
引言: 試試看下面幾種方法 1.MySQL 安裝時候, 設定為 UniCode 2.Win Form 改用 UniCode 字型顯示 3.換別種資料庫, 例如 MS-SQL Serverans . 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 發送簡訊給我 |
測試了一下, 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
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |