javascript - Parse.com/Nodejs http-request 特殊字符已删除

标签 javascript node.js encoding parse-platform amazon-mws

我正在通过 parse.com(基于 nodejs 构建)访问亚马逊 MWS-Api,并且他们的平面文件报告(getreport 端点)有问题。所有特殊字符(ä、ö、ü)都被简单地删除了。根据 MWS-Support,他们正在使用 CP1252-Encoding。这是请求代码。

// 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)
    }

我收到的响应 header 如下所示:

  {
  "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"
}

澄清一下,特殊字符没有被乱码(没有“�”或类似的东西)。 “Für”被简单地接收为“Fr”。奇怪的是,我对亚马逊暂存器(https://mws.amazonservices.de/scratchpad/index.html)有同样的问题,根据 MWS-Support,它应该正确显示特殊字符。 提前感谢您的帮助。

edit1:此外,我的一位同事在一个完全不相关的项目(不同的数据源和所有内容)中遇到了与解析非常相似的问题。在 python 中进行了一些试验之后,我相当确定他的数据源是用 latin1 编码的,而不是 utf8,这似乎是导致问题的原因。在解析中强制执行 latin1 或 CP1252 编码的任何方法?

最佳答案

Amazon 支持人员确认这是他们端的错误,据我所知,已修复它。

关于javascript - Parse.com/Nodejs http-request 特殊字符已删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31986059/

相关文章:

Javascript 幻灯片只显示第一张图片,按钮不起作用

node.js - 我无法解决的 NPM/Node 错误

Node.js 服务器监听 0.0.0.0 和 localhost 上的同一端口,没有错误

javascript - Zombiejs 空 HTML

php - 如何在不对所有数据进行编码的情况下进行 POST 调用?

java - 文本文件编码为UTF_8?

php - 在 PHP 中处理泰语字符

javascript - AngularJS错误: Provider must return value from $get factory method

javascript - 解析 Javascript 中输入的金额

javascript - 单击在不同输入上启动 focusout 事件的 DOM 问题