相关疑难解决方法(0)

Node.js请求将变音符号转换为

我正在针对Web服务执行以下请求(使用请求/请求):

return request.postAsync({
    url,
    charset: 'Cp1252', // I also tried utf-8
    encoding: null, //
    // I also tried Cp1252 -> unknown encoding,
    // I also tried utf-8 and nothing at all
    headers: {
         "Accept": "application/octet-stream, text, text/plain, text/xml",
         "Accept-Encoding": "UTF-8",
         'Content-Type': "text/plain; charset=Cp1252;", // also tried utf-8, ISO-8859-1
         "User-Agent": "me"
    }
}).spread((res, body) => {
    body = body.toString();  // I also tried without toString();
    let ws = fs.createWriteStream('hhh.csv');
    ws.write(body);
    ws.end();
Run Code Online (Sandbox Code Playgroud)

无论我做什么,变形金刚都变成了?.

这些是Web服务发回的标头:

'content-type': 'text; charset=Cp1252',
'content-length': '1895980',
vary: …
Run Code Online (Sandbox Code Playgroud)

javascript encoding node.js

9
推荐指数
1
解决办法
2346
查看次数

http.get和ISO-8859-1编码的响应

我即将写一个RSS-feed fetcher并遇到一些charset问题.

与编码相比,加载和解析订阅源非常简单.我正在加载Feed,http.get我将每个数据事件放在一起.后来我用npm-lib解析整个字符串,feedparser它对给定的字符串工作正常.

可悲的是我已经习惯了像utf8_encode()php 这样的函数,我在node.js中错过了它们,所以我坚持使用当前没有做我想要的Iconv.

没有编码,有几个utf8?-icons用于错误的字符集,用iconv,字符串被解析错误:/

目前我正在单独编码每个字符串:

//var encoding ? ISO-8859-1 etc. (Is the right one, checked with docs etc.)
// Shortend version

var iconv = new Iconv(encoding, 'UTF-8');

parser.on('article', function(article){
    var object = {
        title : iconv.convert(article.title).toString('UTF-8'),
        description : iconv.convert(article.summary).toString('UTF-8')
    }
    Articles.push(object);
});
Run Code Online (Sandbox Code Playgroud)

我应该使用数据缓冲区开始编码还是稍后使用完整的字符串?

谢谢!

PS:编码是通过解析xml的头来确定的

如何在node.js中进行编码的模块更容易?

character-encoding node.js

7
推荐指数
1
解决办法
1万
查看次数

node.js:如何以自定义格式HTTP获取和解码/编码响应

该页面说明了node.js支持的编码:herehere。许多流行的(或一段时间前流行的)编码都丢失了,例如Windows-1252。

我想获取Windows-1252中的网页并解析响应,最后将其保存到文件中。我在编码时遇到问题。我已经做了很多不同的尝试,但我的头脑却发疯了:(

因此,我知道node.js中有iconviconv-lite模块比node.js支持更多的编码。我想使用iconv-lite,因为我无法iconv在公司机器上编译所需的内容。反正我有

var iconv = require('iconv-lite');
Run Code Online (Sandbox Code Playgroud)

现在,困难的部分-获取响应。如我所写,我的资源位于网络中的某个位置,因此我需要触发HTTP请求。我一直在试图节点的wget(NPM:wget模块)http.requesthttp.get并且所有这些尝试都失败了。

我也用谷歌搜索,最接近我需要的解决方案似乎是使用request / /sf/answers/1541954991/进行的nodejs编码,但是作者没有写出到底是request什么-它是一个节点模块?他如何加载它?

我还阅读了https://groups.google.com/forum/#!topic/nodejs/smA6-jGq2pw,但是那里没有干净的解决方案。

我希望能用最少的代码集来获取Web文档并将其即时地从windows-1252编码转换为UTF-8。唯一的参数是文档的URL。

javascript encoding node.js

3
推荐指数
1
解决办法
1850
查看次数