2016-11-14 79 views
1

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

+1

你能发布你有问题的代码吗? –

回答

0

使用UTF-8作为您的字符编码应该可以解决这些问题。它也可能不需要您的转换功能。我不知道如何在你的web服务器中设置编码,但通常有很好的文档记录。

+0

谢谢Wiebe。不幸的是,我无法修改我所调用的Web服务器的字符设置(至少我认为我不能)。我不知道是否有办法绕过使用编码功能或类似的东西的问题.... – ubaldo

1

如果您的请求是POST请求,那么您可以指定标头为Content-Type并带有编码。像这样:

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

GET请求与可能的查询字符串参数的URL将被编码为ASCII。阅读例如this后。

+0

你好,你是绝对正确的!我将“GET”更改为“POST”,并添加了您建议的字符串,并且工作正常! :)我一直在努力解决这个问题,最终我设法解决了这个问题!非常感谢! – ubaldo

+0

欢迎您! :) – dee

相关问题