使用节点请求模块的UTF8字符编码

我有一个简单的应用程序,它使用jquery ajax请求发送表单数据到节点服务器,然后提交给第三方api节点js使用请求模块。

我遇到的问题是重音(和其他类似的)字符在到达第三方服务器时没有正确编码。 例如élogging为Ã

我相当确定这是与请求的设置,因为我绕过ajax调用时得到相同的结果。

以下是我正在使用的设置:

HTML:

<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> 

jquery ajax设置:

 type : 'POST', url : '/api', data : formData, // A json object dataType : 'json', ContentType : 'text/html; charset=utf-8' 

请求节点中的模块设置(Ajax post和请求发送之间的表单数据没有任何变化):

 request.post({ url: "https://testurl.com/api/", form: formData, headers: {'Content-Type': 'application/json; charset=utf-8'} } ... 

我已经阅读了各种SO解决scheme,但没有成功,所以任何build议不胜感激。

在研究字符编码之后,我发现问题是使用各种字符的多字节编码(一个快速谷歌会find一些关于这个主题的好SOpost)。

我认为Request不能自动处理这个问题,所以我使用了Request语法,并设法解决了这个问题。 这是我修改后的代码:

 request( { url: 'https://testurl.com/api/', method: 'POST', json: true, headers: { 'content-type': 'application/json' }, body: formData }, function (error, response, body) { ... } );