我們寫了一個Delphi程序,用CDO發送一些信息。Delphi:CDO.Message編碼問題
在我的Win7機器(匈牙利語)口音工作正常。
因此,如果我發送郵件與「ÁÉÍÓÖŐÚÜŰ」,我得到了這種格式。 我在正文中使用了iso-8859-2編碼,並且對主題進行了編碼,並將電子郵件地址(發件人地址包含名稱)編碼。
我以爲我完成了這個。
但是,當我嘗試從WIN2K3漢英機器發送郵件(郵件服務器是一樣的!),結果是削減一些口音: 爲u = u Ø= O
下一個我試圖用UTF-8編碼在這裏。
這提供了口音 - 但錯誤的口音。
郵件包含帶^符號的口音。
ê<>電子
這是無效的匈牙利信... :-(
所以我想知道,如何我轉換或設置的輸入,我得到了很好的效果。
我試圖登錄的身體看到的是變化......
Log(SBody);
Msg.Body := SBody;
Log(Msg.Body);
...還是不行。
但是這些日誌提供了很好的結果,輸入很好。
因此,在CDO上生成消息可能會丟失和誤轉。
如果我可以將ANSI文本編碼爲真正的UTF,我可以幫助CDO嗎? 但是在Delphi轉換器函數中沒有「CodePage」參數。 在Python,我可以說:
s.encode('iso-8859-2')
或
s.decode('iso-8859-2')
但在Delphi中我沒有看到這個參數。
是否有人知道,如何保留口音,如何轉換重音匈牙利字符串以保留它們的重音格式?
我想知道,我可以在不發送郵件的情況下檢查結果嗎?
感謝您的幫助: DD
請告訴我們您正在使用的德爾福版本。由於他們引入了UNICODE,工作方式與2009版本不同。 – 2010-09-04 10:10:41
除了Delphi版本之外,它還有助於瞭解您如何訪問CDO功能。我只是導入了該組件的類型庫,並且找不到任何名爲encode或decode的函數,只有GetEncodedContentStream/GetDecodedContentStream。如果python提供這些編碼/解碼功能,可能是python通過添加額外的方法來擴充實際的CDO實現。 – 2010-09-04 18:00:32
嗨! Delphi 6專業版。 – durumdara 2010-09-07 09:02:47