簡體字回存的問題 |
答題得分者是:aftcast
|
shunaaron
高階會員 發表:13 回覆:94 積分:106 註冊:2006-10-06 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
pceyes
尊榮會員 發表:70 回覆:657 積分:1140 註冊:2003-03-13 發送簡訊給我 |
|
shunaaron
高階會員 發表:13 回覆:94 積分:106 註冊:2006-10-06 發送簡訊給我 |
有先找過相關資料了
但是仍有些小問題存在 如資料輸入 图 這個字而已 目前利用補上空白方式來解決這問題 但仍會是到簡體OS時, 當查詢時就會有問題 在簡體OS顯示的是問號 但在繁體OS是正常的 謝謝 參考的文章如下 http://delphi.ktop.com.tw/board.php?cid=30&fid=66&tid=48121 http://delphi.ktop.com.tw/board.php?cid=30&fid=67&tid=28163 ===================引 用 P.D. 文 章=================== 請用關鍵字 unicode 查詢本站, 應可得到滿意的答案
------
程式沒有這麼難 只是還沒打通其中要絕 |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
|
shunaaron
高階會員 發表:13 回覆:94 積分:106 註冊:2006-10-06 發送簡訊給我 |
資料庫-MSSQL
資料庫編號是:繁體,程式是用預設(是這問題嗎?但台灣目前系統都在Run,沒法測) 元件是以TMS和Tnt為主 connection要怎調整呢? 謝謝 ===================引 用 aftcast 文 章=================== 請問用什麼資料庫? 用什麼編碼? ui用什麼元件? 某些資料庫在connection設定上需要調整編碼(屬於資料庫上的設定和程式無關),如PostgreSQL 告知後方便協助!
------
程式沒有這麼難 只是還沒打通其中要絕 |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
近來太忙,現在才回覆…
看了你參考的那篇 http://delphi.ktop.com.tw/board.php?cid=30&fid=66&tid=48121 我發現那篇還是沒有真的解決問題! 而問題的根源在於 Ado元件上的字串都是unicode的,也就是說是WideString類別的。 看那篇的發問人等寫到… tmp : = 'insert........'; adoCmd.CommandText := tmp; 這樣就錯了! 我太久沒寫delphi了,目前都是用bcb再寫程式。下面的語法可能有點錯,但觀念才是正確的。 ws : WideString; //這裡是非常非常重要的重點 get_from_user : WideString; get_from_user := Tnt.........; ws := 'insert into test Values (N'''; //要用到N ws := ws get_from_user; ws := ws ''')'; adoCmd.CommandText := ws; 在bcb裡我可以把上面的字串相加寫的簡單一點,參考一下 ws = L"insert into test values (N\"" get_from_user L"\")"; ps mssql那裡要配合 nvarchar 型別 我在許多編碼上轉換有相當的經驗和了解,問題的答案應該沒錯。無論成或敗還請回覆一下好來個教學相長!
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
shunaaron
高階會員 發表:13 回覆:94 積分:106 註冊:2006-10-06 發送簡訊給我 |
感謝大大
之前有試過用N的~ 原來我放錯了地方了~感謝說明 SQL := ' insert into tt Values ( N' QUotedStr('体') ' ) '; 謝謝 ===================引 用 aftcast 文 章=================== 近來太忙,現在才回覆… 看了你參考的那篇 http://delphi.ktop.com.tw/board.php?cid=30&fid=66&tid=48121 我發現那篇還是沒有真的解決問題! 而問題的根源在於 Ado元件上的字串都是unicode的,也就是說是WideString類別的。 看那篇的發問人等寫到… tmp : = 'insert........'; adoCmd.CommandText := tmp; 這樣就錯了! 我太久沒寫delphi了,目前都是用bcb再寫程式。下面的語法可能有點錯,但觀念才是正確的。 ws : WideString; //這裡是非常非常重要的重點 get_from_user : WideString; get_from_user := Tnt.........; ws := 'insert into test Values (N'''; //要用到N ws := ws get_from_user; ws := ws ''')'; adoCmd.CommandText := ws; 在bcb裡我可以把上面的字串相加寫的簡單一點,參考一下 ws = L"insert into test values (N\"" get_from_user L"\")"; ps mssql那裡要配合 nvarchar 型別 我在許多編碼上轉換有相當的經驗和了解,問題的答案應該沒錯。無論成或敗還請回覆一下好來個教學相長!
------
程式沒有這麼難 只是還沒打通其中要絕 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |