我尝试解析“iso-8859-1”页面并使用utf-8保存到我的数据库, 这是我的代码:
var buffer = iconv.encode(data, "iso-8859-1");
data = iconv.decode(buffer, 'utf8');
它不起作用。所有符号如å或ä都会转换为�
如何保存这些符号?
答案 0 :(得分:19)
您需要第三方库来执行该任务。您正在使用iconv-lite,因此您需要按照以下步骤操作:
以二进制模式打开输入文件,因此JavaScript不会假设为UTF-8,也不会尝试转换为其内部编码:
var fs = require("fs");
var input = fs.readFileSync(inputFilePath, {encoding: "binary"});
从ISO-8859-1转换为Buffer:
var iconv = require('iconv-lite');
var output = iconv.decode(input, "ISO-8859-1");
将缓冲区保存到输出文件:
fs.writeFileSync(outputFilePath, output);
如果不确定编码名称,您可以测试encodingExists()
是否支持给定编码:
> iconv.encodingExists("ISO-8859-1");
true
答案 1 :(得分:0)
这对我有用:
def do_stuff(amount: int, name: str, place: str = 'London') -> list:
使用'iconv'模块https://github.com/bnoordhuis/node-iconv