sheetjs 解析dbf文件出现中文乱码如何解决?

sheetjs 解析dbf文件的时候,中文出现了乱码,使用  const str = cptable.utils.decode(936, buf);   转成字符串类型,打印 'str' 乱码是解决了,

后面  const workbook = XLSX.read(str, { type: "string" });的时候   workbook 里面的SheetNames , 和Sheets 数组都为空了,解析不出来内容了

可以使用iconv-lite模块来解决。

可以使用iconv-lite模块来将DBF文件数据编码为UTF-8编码,以便使用sheetjs解析出完整和准确的DBF文件内容。

使用iconv-lite模块,可通过下面的代码解决中文乱码问题:

// 导入iconv-lite模块
const iconv = require('iconv-lite');

// 将DBF文件的数据转换为UTF-8格式
const buffer = iconv.encode(dbfData, 'GBK');

// 解析DBF文件数据,使用sheetjs
const workbook = XLSX.read(buffer, {type: 'buffer', cellDates: true});