我们写了一个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