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

送出訊息給別的程式會產生亂碼

尚未結案
chtai
高階會員


發表:68
回覆:238
積分:116
註冊:2004-05-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-18 09:39:26 IP:140.113.xxx.xxx 未訂閱
大家好,我有一支程式 (http://delphi.ktop.com.tw/topic.php?topic_id=63495 ,有程式碼) 它是把一些文字存在 ini 檔裡頭,然後我的程式用複製貼上的方式,把它送到別的程式裡 (如 Notepad) 我的問題是這樣的, ini 檔可以正常觀看, 我的程式介面也能正常顯示, 手動複製 ini 檔的內容再貼到別的程式如 Notepad 也完全沒問題, 可是我的程式要把 ini 檔的內容貼到別的程式如 Notepad 就會有亂碼。 這情形不是每個人都有,但就是有人遇到了,可是我本身卻不曾遇過, 請問這有可能是什麼原因呢 ? -- http://www.csie.nctu.edu.tw/~chtai/software.php 好用免費軟體的收集網頁,歡迎大家跟我分享或一同推廣免費軟體。 若您覺得這網頁不錯,也歡迎您將它傳出去 :)
------
My Web: http://nelson.csie.us
My Blog: http://blog.nelson.csie.us
chtai
高階會員


發表:68
回覆:238
積分:116
註冊:2004-05-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-22 00:25:35 IP:140.113.xxx.xxx 未訂閱
引言: 大家好,我有一支程式 (http://delphi.ktop.com.tw/topic.php?topic_id=63495 ,有程式碼) 它是把一些文字存在 ini 檔裡頭,然後我的程式用複製貼上的方式,把它送到別的程式裡 (如 Notepad) 我的問題是這樣的, ini 檔可以正常觀看, 我的程式介面也能正常顯示, 手動複製 ini 檔的內容再貼到別的程式如 Notepad 也完全沒問題, 可是我的程式要把 ini 檔的內容貼到別的程式如 Notepad 就會有亂碼。 這情形不是每個人都有,但就是有人遇到了,可是我本身卻不曾遇過, 請問這有可能是什麼原因呢 ?
有使用者跟我回報說, 他有遇到這種情形,而他的作業系統是XP多語版。 請問這有可能是因為在多國語言的系統上使用的關係嗎? -- http://www.csie.nctu.edu.tw/~chtai/software.php 好用免費軟體的收集網頁,歡迎大家跟我分享或一同推廣免費軟體。 若您覺得這網頁不錯,也歡迎您將它傳出去 :)
------
My Web: http://nelson.csie.us
My Blog: http://blog.nelson.csie.us
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-29 18:58:03 IP:211.76.xxx.xxx 未訂閱
chtai你好: BCB中的TClipboard是用CF_TEXT的Format來傳字串,這個格式就像是簡單的AnsiString一樣,沒有Unicode的支援。一但使用的不是中文的Windows,一定會出問題。 解決的方法是加上CF_LOCALE格式的內容,幫助系統把你的字串轉成Unicode。不然就直接送CF_UNICODETEXT的格式。以上的最好直接用Win API打造。 VCL對Unicode的支援還是很不夠的...
chtai
高階會員


發表:68
回覆:238
積分:116
註冊:2004-05-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-29 21:07:18 IP:140.113.xxx.xxx 未訂閱
引言: chtai你好: BCB中的TClipboard是用CF_TEXT的Format來傳字串,這個格式就像是簡單的AnsiString一樣,沒有Unicode的支援。一但使用的不是中文的Windows,一定會出問題。 解決的方法是加上CF_LOCALE格式的內容,幫助系統把你的字串轉成Unicode。不然就直接送CF_UNICODETEXT的格式。以上的最好直接用Win API打造。 VCL對Unicode的支援還是很不夠的...
不好意思,能麻煩 pwipwi 大哥多給點提示嗎? 因為我之前毫無處理 Unicode 的經驗 ^^|| 另外,您說要用 Unicode 格式才能在非中文的電腦上使用, 可是 INI 檔不是只能存成 ANSI 格式嗎? 這樣要怎麼用 Unicode 呢? (還是我誤解了?) -- http://www.csie.nctu.edu.tw/~chtai/software.php 好用免費軟體的收集網頁,歡迎大家跟我分享或一同推廣免費軟體。 若您覺得這網頁不錯,也歡迎您將它傳出去 :)
------
My Web: http://nelson.csie.us
My Blog: http://blog.nelson.csie.us
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-30 01:12:33 IP:211.76.xxx.xxx 未訂閱
使用記事本的另存新檔,可以發現能存成Ansi的格式或Unicode的格式。如果要做到Unicode的話,一個方法是從Ini檔就是Unicode。不過就不能用方便的TStringList讀檔了。 另一方法是用一個函式把Ansi格式的Ini檔讀入後,再轉成Unicode。轉的時候可能需要指定是Big5吧...轉換的部分我就不太確定(記得站上有相關的資源,是有關轉碼的)。應該不能直接用WideString和AnsiString直接轉,在多國語系的系統可能會有問題(不是預設Big5)。 要做到Unicode支援,在BCB上會有不小的代價。
chtai
高階會員


發表:68
回覆:238
積分:116
註冊:2004-05-21

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-01-30 11:58:19 IP:140.113.xxx.xxx 未訂閱
引言: 另一方法是用一個函式把Ansi格式的Ini檔讀入後,再轉成Unicode。轉的時候可能需要指定是Big5吧...轉換的部分我就不太確定(記得站上有相關的資源,是有關轉碼的)。應該不能直接用WideString和AnsiString直接轉,在多國語系的系統可能會有問題(不是預設Big5)。
那,到目前為止,小弟有三個問題不解哩~
  • 就算使用者的電腦是多國語言好了,為什麼我程式的介面正常,他去看 ini 檔的內容也正常,可是我的程式把字串貼上時卻會是亂碼呢?不是都可以正常顯示了嗎?
  • 若是在 98 這類不支援 Unicode 的環境底下,還可以轉成 Unicode 再貼上嗎?
  • 若我現在送出字串改別的方法,不是用貼上而是用 SendMessage 加上參數 WM_IME_CHAR 一字字送出,還會有亂碼的問題嗎?
-- http://www.csie.nctu.edu.tw/~chtai/software.php 好用免費軟體的收集網頁,歡迎大家跟我分享或一同推廣免費軟體。 若您覺得這網頁不錯,也歡迎您將它傳出去 :)
------
My Web: http://nelson.csie.us
My Blog: http://blog.nelson.csie.us
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-01-30 13:51:12 IP:211.76.xxx.xxx 未訂閱
引言: 那,到目前為止,小弟有三個問題不解哩~
  • 就算使用者的電腦是多國語言好了,為什麼我程式的介面正常,他去看 ini 檔的內容也正常,可是我的程式把字串貼上時卻會是亂碼呢?不是都可以正常顯示了嗎?
  • 若是在 98 這類不支援 Unicode 的環境底下,還可以轉成 Unicode 再貼上嗎?
  • 若我現在送出字串改別的方法,不是用貼上而是用 SendMessage 加上參數 WM_IME_CHAR 一字字送出,還會有亂碼的問題嗎?
這三個問題我也無法回答,可能有請版上的前輩和大大們了..
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-01-31 14:00:45 IP:218.175.xxx.xxx 未訂閱
就算使用者的電腦是多國語言好了,為什麼我程式的介面正常,他去看 ini 檔的內容也正常,可是我的程式把字串貼上時卻會是亂碼呢?不是都可以正常顯示了嗎? //不確定因為環境不了解 哈哈 假設 (堃)的編碼為(堃) 可以自己在word上寫堃存成html就知 在某些環境上的系統如果不是全部安裝是自行安裝的內建元件 也很難查知 如果真只是Unicode問題 就裝 完補計劃 試試 http://cpatch.org/unicode/ 找uxxxxx編輯器 內建支援直接轉換Unicode檔案格式 若是在 98 這類不支援 Unicode 的環境底下,還可以轉成 Unicode 再貼上嗎? //基本上98核心不支援 就算貼上也應是看不到 變成空格 若我現在送出字串改別的方法,不是用貼上而是用 SendMessage 加上參數 WM_IME_CHAR 一字字送出,還會有亂碼的問題嗎? 副檔名不要使用ini有某些限制 改dat或自定檔名 http://delphi.ktop.com.tw/winnertopics.asp?M_ID=16732&M_NAME=m8815010 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=32420 Unicode KTOP有許多資料可查 不過要說清楚 可能就很難因為 如元件 資料庫 自串轉換判斷等 因 應用方法與使用軟體環境差異很大 包括 系統本身問題 除非大致了解 Microsoft Office 的方式就可依使用的OS環境與應用軟體的自身轉換 http://delphi.ktop.com.tw/quicksearch.exe/quicksearch?SearchStr=Unicode 沒環境 查看 也是幫不了的 http://delphi.ktop.com.tw/topic.php?topic_id=59682 Unicode 檢視工具 http://delphi.ktop.com.tw/topic.php?topic_id=56533 http://delphi.ktop.com.tw/topic.php?topic_id=55094 http://delphi.ktop.com.tw/topic.php?topic_id=54323 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=57431 此文只能參考但不是解決方式 總歸一句 馬 是 請你自己 找實驗品os才能測出真正問題 是OS 還是自串訊息被元件所產生錯誤 請使用本身支援Unicode之元件與軟體介面
chtai
高階會員


發表:68
回覆:238
積分:116
註冊:2004-05-21

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-02-19 20:19:35 IP:140.113.xxx.xxx 未訂閱
引言: 大家好,我有一支程式 (http://delphi.ktop.com.tw/topic.php?topic_id=63495 ,有程式碼) 它是把一些文字存在 ini 檔裡頭,然後我的程式用複製貼上的方式,把它送到別的程式裡 (如 Notepad) 我的問題是這樣的, ini 檔可以正常觀看, 我的程式介面也能正常顯示, 手動複製 ini 檔的內容再貼到別的程式如 Notepad 也完全沒問題, 可是我的程式要把 ini 檔的內容貼到別的程式如 Notepad 就會有亂碼。 這情形不是每個人都有,但就是有人遇到了,可是我本身卻不曾遇過, 請問這有可能是什麼原因呢 ?
前不久又跟朋友提到這個問題, 根據我朋友的說法,這是 XP 的新功能所引發的問題。 因為 XP 會依據輸入法的不同,而切換locale,所以也就產生了編碼的問題了。 也因此會有亂碼產生。 我是不知道對不對,不過跟我回報有問題的都是 XP 使用者倒是真的 :( 假若真的是這個原因,不知各位前輩有什麼好解法嗎? 我還是第一次遇到這問題,不知從何解起哩 --
------
My Web: http://nelson.csie.us
My Blog: http://blog.nelson.csie.us
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-02-19 20:28:34 IP:218.175.xxx.xxx 未訂閱
那就限制輸入法把 哈哈 http://delphi.ktop.com.tw/topic.php?topic_id=46785 http://delphi.ktop.com.tw/topic.php?topic_id=42278 發表人 - conundrum 於 2005/02/19 20:30:34
系統時間:2024-05-12 21:20:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!