我正在使用TIdIMAP4组件用我的GMail邮箱的邮件填充字符串网格。
var IMAPClient: TIdIMAP4;
有些消息有德语变音符号。当我调用IMAPClient。 RetrieveAllHeaders (MyMsgList)时,字符串网格按预期填充(显示所有变音符号),但是没有UID(我猜,RetrieveAllHeaders只是不提取UID)。
当我调用IMAPClient时。 UIDRetrieveAllEnvelopes (MyMsgList)消息的所有其他属性都存在,但标题显示在abracadabra中(=?ISO-8859-1?Q?_Die_Br = FCcke_von_Arnheim? =) //应该是'DieBrückevonArnheim'。
我已阅读了许多支持性帖子,但无法找到答案为什么IndyIMAP4错误地处理德语符号。 有什么想法吗?
答案 0 :(得分:3)
RetrieveAllHeaders()
解码它检索的原始数据。 UIDRetrieveAllEnvelopes()
仅检索原始数据,但不解码。您可以通过调用DecodeHeader()
单元中的Indy IdCoderHeader
函数手动解码原始标题。