Я пытаюсь получить страницу из Интернета, а затем сохранить ее в файл HTML. На странице есть это в шапке:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" >
<head>
<meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS" />
</head>
Что бы я ни пытался, сохраненная HTML-страница выглядит ужасно, и я просто не могу заставить ее правильно сохранять японские символы.
Я использую node-fetch, fs.writeFile и модуль с именем jconv. Я пробовал все комбинации, но ничего не работает. Прямо сейчас код должен конвертировать из SJIS в UTF-8, тогда fs
должен записать файл с кодировкой UTF-8.
fetch(link).
then((res) => {
if (res.ok) {
return res.text();
}
console.log("Invalid data");
}).
then((body) => {
// this is supposed to convert from SJIS to UTF-8
var buf = jconv.convert(body, 'SJIS', 'UTF-8');
// save file
fs.writeFile(path, buf, 'UTF-8', (err) => {
if (!err) {
console.log('Saved');
}
});
});
Я пробовал другие кодировки, но окончательный HTML-документ по-прежнему не отображает нужные специальные символы, как на онлайн-странице, с которой он взят. Страница, которую я сейчас тестирую, называется этой.