node.js - 如何处理 csv 文件中除 utf-8 以外的编码的特殊字符
问题描述
我正在尝试使用 createReadStream 在 nodejs 中读取 csv 文件,但遇到特殊字符时遇到问题。当 csv 文件字符集是 UTF-8 时,它会完整地返回特殊字符,但如果字符集不是 UTF-8,那么特殊字符将被转换为 ? 这是我尝试过的:
let parseOptions = {
headers: false,
ignoreEmpty: false,
trim: true,
discardUnmappedColumns: false,
quoteHeaders: true
};
let stream = fs.createReadStream(obj.data.file_data.path, {encoding : 'utf8'});
let parser=csv.fromStream(stream, parseOptions)
.on("data", function(row){
console.log('Row data ----->', row);
// Prints row
}).on("end", function(){
// proccess data here
});
我也尝试过使用二进制、utf16 等编码选项,但似乎没有任何东西可以处理所有字符。有什么方法可以忽略字符集并获取完整的特殊字符或将其转换为 UTF-8 字符集。
解决方案
推荐阅读
- python - python xpath 返回空列表而不是值或文本
- linux - 我有一个文件,我想将它与另一个目录中的所有文件进行比较,以找出哪个相同
- java - MapsActivity 中的自动更新位置
- java - 使用 Guava Graph 按 ID 获取节点
- javascript - 如何从 JavaScript 中的字符串中删除双引号
- symfony - Symfony 4 在 login_check 后以匿名身份登录
- bash - Bash 出人意料地将 "${x:-''}" 评估为(字面意思)'' 而不是空字符串
- javascript - 如何从数据库中获取大量数据并通过输入输入将其显示到下拉列表过滤器中,但只能从数据库中选择
- java - 如何在 StatelessKieSession 中设置 AgendaGroup 流口水
- vb6 - visual basic开发环境不能提供单次使用的多个实例