使用YT评论下载HTML导出CSV时阿拉伯字符乱码,求修复方案
解决YouTube评论CSV阿拉伯字符乱码问题
核心解决方案:添加UTF-8 BOM
CSV文件出现阿拉伯字符乱码的核心原因是Windows平台下的表格软件(如Excel)默认无法自动识别无BOM的UTF-8编码。只需在CSV内容开头添加UTF-8字节顺序标记(BOM),即可让软件正确识别编码。
修改你生成Blob的代码段:
// 在CSV内容开头添加UTF-8 BOM var csvWithBOM = '\ufeff' + csvData; var blob = new Blob([csvWithBOM], { type: 'text/csv; charset=utf-8' }); // 后续下载链接代码保持不变 var downloadLink = document.createElement('a'); downloadLink.href = window.URL.createObjectURL(blob); downloadLink.download = 'comments.csv'; downloadLink.innerHTML = '<button>Download CSV</button>'; var resultContainer = document.getElementById('result'); resultContainer.appendChild(downloadLink);
为什么之前的设置无效?
- 仅设置
<meta charset="utf-8">只会影响网页本身的编码解析,无法改变下载文件的编码标识。 - 仅指定Blob的
charset=utf-8但不加BOM,部分Windows软件依然无法正确识别UTF-8格式的非ASCII字符。
额外验证方法
如果修改后仍有问题,可通过文本编辑器(如Notepad++)确认文件编码:
- 用编辑器打开下载的CSV文件
- 在编码菜单中查看当前编码,若显示为普通UTF-8,手动切换为UTF-8 with BOM后保存
- 重新用Excel打开即可正常显示阿拉伯字符
内容的提问来源于stack exchange,提问作者NewbieHD
相关产品推荐
相关产品推荐

