怪事,用SQL新增中文資料沒問題,用DBGrid等控件會失敗 |
答題得分者是:P.D.
|
pcernet
初階會員 發表:69 回覆:113 積分:41 註冊:2002-11-29 發送簡訊給我 |
|
smallfox
高階會員 發表:2 回覆:113 積分:128 註冊:2003-02-19 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
看起來這已是大家所討論到爛的Delphi支援unicode版本的問題, 建議你搜尋本站一下吧!
===================引 用 pcernet 文 章=================== Delphi2009 zeos Mysql5 一個困擾很久的問題了,爬文還是找不到答案!欄位型態是varchar utf8_unicode! 中文顯示是沒問題,而用SQL進行Insert Into也能儲存中文,但如果用DBGrid等控件進行資料修改和新增,英文和數字資料沒問題,但中文資料就會發生錯誤,不是亂碼就是會發生資料無法更新的錯誤,請問這是什麼問題?謝謝! |
pcernet
初階會員 發表:69 回覆:113 積分:41 註冊:2002-11-29 發送簡訊給我 |
感謝您的熱心,我爬文爬很久了,這絕對不是討論到爛的問題,一般人都出在編碼utf8和設定SET NAMES big5的問題,我沒有這些問題,輸出輸入中文都正常,只是如果是使用控件,便無法正常儲存中文資料!===================引 用 smallfox 文 章=================== |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
1.DBgrid 在Delphi2009之前根本不支援unicode功能, 這已是討論很多的案例
2.由於你不是使用標準TQuery來操作, 所以根本無法做比較, 建議你全部改用Delphi內建的元件來操作看看會不會有問題, 再判斷是否支援utf-8的字集 ===================引 用 pcernet 文 章=================== 感謝您的熱心,我爬文爬很久了,這絕對不是討論到爛的問題,一般人都出在編碼utf8和設定SET NAMES big5的問題,我沒有這些問題,輸出輸入中文都正常,只是如果是使用控件,便無法正常儲存中文資料!===================引 用 smallfox 文 章=================== |
smallfox
高階會員 發表:2 回覆:113 積分:128 註冊:2003-02-19 發送簡訊給我 |
|
pcernet
初階會員 發表:69 回覆:113 積分:41 註冊:2002-11-29 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
這便是我所提的, 在於unicode的資料庫字集上, 一個中文是一個byte, 所以很可能是在截取是造成出現ascii碼不可視的字元, 如chr(13), chr(31)等等, 所以如果你想解決unicode, 建議改換成全面支援的Delphi2010以後版本
===================引 用 pcernet 文 章=================== 感謝兩位熱情回覆,我試到一個情況,dbGrid編輯時,如果在中文後面加上足夠的空白,就沒有問題,否則儲存中文後,可能字會被裁掉,或剩下半個中文而顯示?號,或是出現0 Reocrd(s) Updated的錯誤,欄位形態Varchar、char都試過了,謝謝指教。 |
pcernet
初階會員 發表:69 回覆:113 積分:41 註冊:2002-11-29 發送簡訊給我 |
|
pcernet
初階會員 發表:69 回覆:113 積分:41 註冊:2002-11-29 發送簡訊給我 |
|
pcernet
初階會員 發表:69 回覆:113 積分:41 註冊:2002-11-29 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |