Javascript Parse.com/Nodejs http请求特殊字符已删除

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.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.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问题只是相关的,在这两种情况下,我们都需要一种方法来指定解析中接收到的响应的编码。