ASP经典CDO电子邮件消息在textbody中使用UTF-8

时间:2012-01-30 09:48:53

标签: asp-classic

如何使用UTF-8字符集发送电子邮件。请注意,我需要在textbody中使用它而不是在html体中。

如果我在htmlbody中使用它,但是当我尝试使用textbody时,Everythings工作正常。我得到了aschii代码字符

objCDOMailer.TextBody  = "test - Rozwiązanie"  >> having a problem
objCDOMailer.HTMLBody  = "test - Rozwiązanie"  >> dont have a problem

我在上面使用了以下代码。

  objMail.BodyPartCharset = "UTF-8"

3 个答案:

答案 0 :(得分:5)

使用

bjCDOMailer.TextBodyPart.Charset = "utf-8" 

用于字符编码。

objCDOMailer.BodyPart.Charset = "utf-8" 
objCDOMailer.HTMLBodyPart.Charset = "utf-8"

以上不起作用。

答案 1 :(得分:0)

尝试为TextBody和HTMLBody单独设置编码

objCDOMailer.BodyPart.Charset = "utf-8" 
bjCDOMailer.TextBodyPart.Charset = "utf-8" 
objCDOMailer.HTMLBodyPart.Charset = "utf-8"

答案 2 :(得分:0)

Windows 2019。IIS 10。

够了

...
with open(output, "w") as outfile:
    outfile.write('<marker_set name="marker set 1">\n')
    
    for line in contents[1:]:
        line = line.replace("\n", "")
        line_split = line.split()
            
        index = line_split[0]
        x = float(line_split[1])*0.52918
        y = float(line_split[2])*0.52918
        z = float(line_split[3])*0.52918

        col5 = line_split[4].strip()

        out_string = (
            '<marker id="{}" x="{}" y="{}" z="{}"'
            ' r="1" g="1" b="0" radius="0.125"/>\n'
        )

        if col5 == '3':
            out_string = (
               '<marker id="{}" x="{}" y="{}" z="{}"'
               ' r="0" g="0" b="1" radius="0.125"/>\n'
            )
         
        outfile.write(out_string.format(index, x, y, z))
            
    outfile.write('</marker_set>\n')

加上您的 ASP 文件/页面必须以编码方式保存:Unicode(带签名的 UTF-8)代码页 65001