1

谁能告诉我,为什么这段代码不起作用?邮件被发送,但字符被打乱了。

“日本语”变成“日本語”

"テスト 日本语 äöü" 变成 "テスト 日本語 äöü"

<%

    Session.CodePage = 65001    ' UTF-8 code

%>

<!DOCTYPE html>

<html>
<head>
    <title>MAIL TESTER</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>

<body>

<%

    strSubject = "日本語"
    strBody = "テスト 日本語 äöü"

    Set objEmail = Server.CreateObject("Persits.MailSender")

    objEmail.Host = "..."
    objEmail.From = "..."
    objEmail.FromName = "..."
    objEmail.AddAddress "..."

    objEmail.Username = "..."
    objEmail.Password = "..."


    objEmail.CharSet = "UTF-8"
    objEmail.ContentTransferEncoding = "Quoted-Printable"
    objEmail.IsHTML = True

    objEmail.Subject = objEmail.EncodeHeader(strSubject, "UTF-8")
    objEmail.Body = strBody

    objEmail.Send


    Set objEmail = Nothing

%>

MAIL SENT.

</body>
</html>
4

1 回答 1

2

我必须在所有页面上添加以下代码:

Session.CodePage = 65001
Response.Charset = "UTF-8"

或者

Response.CodePage = 65001
Response.Charset = "UTF-8"

然后在记事本++中,我必须确保使用“UTF-8 编码”保存文件。我的页面被保存为“在没有 BOM 的 UTF-8 中编码”。我不知道他们为什么会这样得救,但事情就是这样。

于 2013-06-26T08:34:32.820 回答