You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用convert-csv-to-json读取CSV时西里尔字符乱码求助

解决Win1251编码CSV转JSON时西里尔字符乱码问题

问题根源在于convert-csv-to-json默认用UTF-8编码读取文件,但你的CSV是Win1251编码,直接读取必然乱码,调用asciiEncoding()也没用——ASCII和Win1251是完全不同的编码体系,根本不匹配。

你可以手动先完成文件编码转换,再交给这个包处理,具体步骤如下:

  1. 安装转码工具包iconv-lite(Node.js原生不支持Win1251编码解析):
npm install iconv-lite
  1. 修改代码逻辑,先读取文件并转成UTF-8字符串,再进行CSV转JSON操作:
const csvToJson = require('convert-csv-to-json');
const fs = require('fs');
const iconv = require('iconv-lite');

// 读取Win1251编码的CSV文件,返回原始Buffer
const csvBuffer = fs.readFileSync('input.csv');
// 将Buffer解码为UTF-8格式的字符串
const csvUtf8Str = iconv.decode(csvBuffer, 'win1251');

// 使用包的字符串处理方法转换为JSON
const jsonResult = csvToJson.fieldDelimiter(',').getJsonFromString(csvUtf8Str);
console.log(jsonResult);

这样就能正确解析西里尔字符了,因为我们先把Win1251编码的内容转换成了Node.js和convert-csv-to-json都能正确识别的UTF-8编码。

内容的提问来源于stack exchange,提问作者Yurii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 13:54:36