通过VBA将€字符发送到Web服务器

时间:2016-11-14 18:03:49

标签: vba msxml

我正在使用MSXML2.XMLHTTP60使用Web服务器通过VBA发送文本消息。我无法理解为什么接收短信时不显示€符号。其他特殊字符,例如ò,à,è等在我编写的转换函数后显示(例如à编码为“%E0”)。我想web服务器期待charset iso 8859-1,它不支持€符号。因此,我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

如果您的请求是 POST 请求,那么您可以使用编码为Content-Type指定标头,例如像这样:

objHTTP.Open "POST", ...
objHTTP.setRequestHeader "Content-Type", "text/html; charset=utf-8"

但是对于 GET 请求,带有可能的查询字符串参数的URL将被编码为ASCII。阅读例如this发帖。

答案 1 :(得分:0)

使用UTF-8作为字符编码应解决此类问题。它也可能不需要您的转换功能。我不确定如何在您的Web服务器中设置编码,但这通常都有很好的记录。