代码之家  ›  专栏  ›  技术社区  ›  UnDiUdin

Indy:TidMessage删除所有重音,如何禁用?

  •  2
  • UnDiUdin  · 技术社区  · 14 年前

    我用印地组件发送电子邮件 TidSMTP TidMessage .

    我收到的邮件没有口音。

    例如,如果我这样做:

    MyTIdMessage.Body.Text := 'Tèst';
    

    当我收到电子邮件时,我看到的是“T e st”而不是“TÃst”

    有没有办法告诉TIdMessage不要忽略重音符号,还是这个bug?

    注:我使用的是Indy 10.5.8.0

    2 回复  |  直到 14 年前
        1
  •  2
  •   user160694user160694    14 年前

    请确保设置正确的编码、ContentTransferEncoding和字符集。作为最古老的协议之一,邮件被设计为只使用7位的计算机使用,因此需要对非美国ASCII字符进行编码。有一些不同的方法(引用可打印,ecc.)

    还要检查oninitializeso事件。

        2
  •  1
  •   Mike Taylor    14 年前

    这样做可以确保设置了正确的字符集

    MyIdMessage.CharSet := 'US-ASCII';
    

    字符串值列在IdCharsetNames数组中。