送出訊息給別的程式會產生亂碼 |
尚未結案
|
chtai
高階會員 ![]() ![]() ![]() ![]() 發表:68 回覆:238 積分:116 註冊:2004-05-21 發送簡訊給我 |
大家好,我有一支程式 (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 發送簡訊給我 |
引言: 大家好,我有一支程式 (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 發送簡訊給我 |
|
chtai
高階會員 ![]() ![]() ![]() ![]() 發表:68 回覆:238 積分:116 註冊:2004-05-21 發送簡訊給我 |
引言: 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 發送簡訊給我 |
使用記事本的另存新檔,可以發現能存成Ansi的格式或Unicode的格式。如果要做到Unicode的話,一個方法是從Ini檔就是Unicode。不過就不能用方便的TStringList讀檔了。 另一方法是用一個函式把Ansi格式的Ini檔讀入後,再轉成Unicode。轉的時候可能需要指定是Big5吧...轉換的部分我就不太確定(記得站上有相關的資源,是有關轉碼的)。應該不能直接用WideString和AnsiString直接轉,在多國語系的系統可能會有問題(不是預設Big5)。 要做到Unicode支援,在BCB上會有不小的代價。
|
chtai
高階會員 ![]() ![]() ![]() ![]() 發表:68 回覆:238 積分:116 註冊:2004-05-21 發送簡訊給我 |
引言: 另一方法是用一個函式把Ansi格式的Ini檔讀入後,再轉成Unicode。轉的時候可能需要指定是Big5吧...轉換的部分我就不太確定(記得站上有相關的資源,是有關轉碼的)。應該不能直接用WideString和AnsiString直接轉,在多國語系的系統可能會有問題(不是預設Big5)。那,到目前為止,小弟有三個問題不解哩~
------
My Web: http://nelson.csie.us My Blog: http://blog.nelson.csie.us |
pwipwi
版主 ![]() ![]() ![]() ![]() ![]() 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
引言: 那,到目前為止,小弟有三個問題不解哩~這三個問題我也無法回答 |
conundrum
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
就算使用者的電腦是多國語言好了,為什麼我程式的介面正常,他去看 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 發送簡訊給我 |
引言: 大家好,我有一支程式 (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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |