Javascript Parse.com/Nodejs http请求特殊字符已删除
我正在通过parse.com(构建于nodejs之上)访问amazons MWS Api,并且他们的平面文件报告(getreport端点)存在问题。所有特殊字符(ä,ö,ü)都被简单地删除。根据MWS的支持,他们正在使用CP1252编码。这是申请代码Javascript Parse.com/Nodejs http请求特殊字符已删除,javascript,node.js,encoding,parse-platform,amazon-mws,Javascript,Node.js,Encoding,Parse Platform,Amazon Mws,我正在通过parse.com(构建于nodejs之上)访问amazons MWS Api,并且他们的平面文件报告(getreport端点)存在问题。所有特殊字符(ä,ö,ü)都被简单地删除。根据MWS的支持,他们正在使用CP1252编码。这是申请代码 // Parse.Cloud.httpRequest is parses version of the nodejs http-module Parse.Cloud.httpRequest({ url: "https://mws.amazo
// Parse.Cloud.httpRequest is parses version of the nodejs http-module
Parse.Cloud.httpRequest({
url: "https://mws.amazonservices.de/?",
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded; charset=utf-8",
"Host": "mws.amazonservices.de",
"x-amazon-user-agent": "MyUserAgent(Language=Javascript)",
"Accept-Charset": "CP1252"
},
body: queryString
success: function(resp){
response.success(resp)
}
},
error: function(err){
response.error(err)
}
我收到的响应标题如下所示:
{
"Connection": "close",
"Content-Length": "395828",
"Content-MD5": "Xw8KYGqESc7u4TTzgcbT/g==",
"Content-Type": "text",
"Date": "Thu, 13 Aug 2015 10:21:00 GMT",
"Server": "AmazonMWS",
"Vary": "Accept-Encoding,User-Agent",
"x-amz-request-id": "xxxxx",
"x-mws-quota-max": "60.0",
"x-mws-quota-remaining": "58.0",
"x-mws-quota-resetsOn": "2015-08-13T10:38:00.000Z",
"x-mws-request-id": "xxxxx",
"x-mws-response-context": "C0ywPcTe0K9qESsoz4OzZX9oRJMDuYR9vvk5MfN3KKOGEnyWgSZlOQDixINemnwLVZl0DjXEdrY=",
"x-mws-timestamp": "2015-08-13T10:21:01.186Z"
}
为了澄清,特殊字符没有被乱码(否)�" 奇怪的是,我对amazons scratchpad()也有同样的问题,根据MWS的支持,它应该正确地显示特殊字符。
提前谢谢你的帮助
edit1:另外,我的一个同事在一个完全不相关的项目中(不同的数据源和所有内容)有一个非常类似的解析问题.在用python做了一点实验之后,我相当肯定他的数据源是用拉丁语编码的,而不是utf8,这似乎是问题的根源。有没有办法在parse中强制使用拉丁语或CP1252编码?您已经在请求parse.com以utf-8格式向您发送数据 注意以下几行:
"Content-Type": "application/x-www-form-urlencoded; charset=utf-8",
"Accept-Charset": "utf-8"
如果你能和你的同事画平行线,把这些值改成拉丁文1可能行得通
然而,parse.com论坛上的问题可能会对您的问题有所帮助。它可能是一个客户(您的)-次要问题。您是否尝试过更改您一方的编码?亚马逊支持部门确认这是他们这边的一个错误,据我所知,已经修复了它。您误解了。我问题中的代码发送的请求将发送到亚马逊。我从未向parse请求任何内容。来自Amazon的响应将在parse和sa中处理数据库中的ved。没有“客户端”,或者更确切地说,解析云代码是客户端代码。来自amazon的响应头没有指定任何编码,但是MWS支持报告所有报告都用CP1252编码。latin1问题只是相关的,在这两种情况下,我们都需要一种方法来指定解析中接收到的响应的编码。