我尝试解析“iso-8859-1”页面并使用 utf-8 保存到我的数据库中, 这是我的代码:
var buffer = iconv.encode(data, "iso-8859-1");
data = iconv.decode(buffer, 'utf8');
它不起作用。 å 或 ä 等所有符号都转换为 �
如何保存这些符号?
最佳答案
您需要一个第三方库来完成该任务。您正在使用 iconv-lite因此您需要按照以下步骤操作:
以 binary 模式打开输入文件,因此 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
关于javascript - 将 iso-8859-1 转换为 utf-8 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27155419/