nodejs ftp拉取文件列表中文文件名乱码应该怎么解决
时间: 2023-03-23 07:01:29 浏览: 438
可以尝试在使用nodejsftp的时候,将FTP服务器的编码方式设置为UTF-8,这样可以确保中文文件名不会出现乱码。具体的做法是在nodejsftp的选项中添加`encoding: 'utf8'`这个参数。另外,也可以将文件名转换为Buffer对象,然后再通过iconv-lite模块将其转换为正确的编码格式,例如:
```
const iconv = require('iconv-lite');
const client = new ftp();
client.on('ready', () => {
client.list((err, list) => {
if (err) throw err;
list.forEach((element) => {
const fileName = iconv.decode(Buffer.from(element.name), 'gbk');
console.log(fileName);
});
client.end();
});
});
```
这段代码使用了iconv-lite模块将文件名从gbk编码转换为UTF-8编码。
阅读全文