私はいくつかのデータのためにウェブページを掻き集めようとしています。私はリクエストを投稿して正しいデータを得ました。問題は、私のようなものを得ることです:Request NodeJSから本文への正しいエンコーディング
"KannstデュbitteのNOCHのeinmalを... erzýhlen、ウィー・デュwýhrendデア・サファリeinenLýwenverjagt HAST?"
は通常 erzählen - währendは、Ä、Öので、ß、Üが正しく表示されません。ここは私のコードです:
var querystring = require('querystring');
var iconv = require('iconv-lite')
var request = require('request');
var fs = require('fs');
var writer = fs.createWriteStream('outputBodyutf8String.html');
var form = {
id:'2974',
opt1:'',
opt2:'30',
ref:'A1',
tid:'157',
tid2:'',
fnum:'2'
};
var formData = querystring.stringify(form);
var contentLength = formData.length;
request({
headers: {
'Content-Length': contentLength,
'Content-Type': 'application/x-www-form-urlencoded'
},
uri: 'xxxxxx.php',
body: formData,
method: 'POST'
}, function (err, res, body) {
var utf8String = iconv.decode(body,"ISO-8859-1");
console.log(utf8String);
writer.write(utf8String);
});
正しい文字でHTML本体の中に取得する方法?
ありがとうございます!私はそれを試して、それは動作しませんでした、私はまた、 "Windows - 1250"、 "ISO - 8859 - 15"のような他のエンコードを試しても何もしていない。私は郵便配達で同じPOSTリクエストを試しました。私は正しい結果を得ています。 –
@anoumaru私の更新された答えがあなたを助けるかもしれません。 –
私は後でそれを試してみてください!しかしこれは最高の答えの一つです、ありがとうございました! –