发送请求时转换特殊字符
Special characters are converted when sending a request
所以我在 asp 经典中实现了 mandrill。到目前为止一切都很好,邮件已发送,但我遇到了问题。当我发送一个带有特殊字符的参数时,电子邮件中的内容被转换了。例如,我发送给 mandrill 的值是 Göran
,但在电子邮件中,它被转换为 Göran
。
我曾尝试更改 CodePage 会话,但没有成功。使用 ajax jQuery 并发送相同的值,电子邮件看起来不错。我需要在请求中设置一些东西吗
Response.CodePage = 65001
Session.CodePage = 65001
Set HttpReq = Server.CreateObject("MSXML2.ServerXMLHTTP")
HttpReq.open "POST", "https://mandrillapp.com/api/1.0/messages/send-template.json", False
HttpReq.setRequestHeader "Content-Type", "application/json"
HttpReq.send(mandrillData)
经典编码ASP
在 Classic 中使用编码时 ASP 有一个您需要遵循的清单;
- ASP 页面是否使用所需的编码保存?如果要使用 UTF-8,需要先使用 UTF-8 编码保存页面。
- ASP 预处理器是否知道使用特定编码处理 ASP 页面?您可以通过在 ASP 页面中指定
Response.CodePage
和 Response.Charset
来实现。
将编码数据发送给第 3 方时,您会告诉他们期望什么吗?例如,当发送 JSON 时,Content-Type
header 很重要,但指定内容编码方式的 charset
参数也很重要。
Call HttpReq.setRequestHeader("Content-Type", "application/json; charset=utf-8")
Call HttpReq.Send(mandrillData)
有用的链接
所以我在 asp 经典中实现了 mandrill。到目前为止一切都很好,邮件已发送,但我遇到了问题。当我发送一个带有特殊字符的参数时,电子邮件中的内容被转换了。例如,我发送给 mandrill 的值是 Göran
,但在电子邮件中,它被转换为 Göran
。
我曾尝试更改 CodePage 会话,但没有成功。使用 ajax jQuery 并发送相同的值,电子邮件看起来不错。我需要在请求中设置一些东西吗
Response.CodePage = 65001
Session.CodePage = 65001
Set HttpReq = Server.CreateObject("MSXML2.ServerXMLHTTP")
HttpReq.open "POST", "https://mandrillapp.com/api/1.0/messages/send-template.json", False
HttpReq.setRequestHeader "Content-Type", "application/json"
HttpReq.send(mandrillData)
经典编码ASP
在 Classic 中使用编码时 ASP 有一个您需要遵循的清单;
- ASP 页面是否使用所需的编码保存?如果要使用 UTF-8,需要先使用 UTF-8 编码保存页面。
- ASP 预处理器是否知道使用特定编码处理 ASP 页面?您可以通过在 ASP 页面中指定
Response.CodePage
和Response.Charset
来实现。 将编码数据发送给第 3 方时,您会告诉他们期望什么吗?例如,当发送 JSON 时,
Content-Type
header 很重要,但指定内容编码方式的charset
参数也很重要。Call HttpReq.setRequestHeader("Content-Type", "application/json; charset=utf-8") Call HttpReq.Send(mandrillData)