Excel打开CSV文件中文全是乱码怎么解决

问题

系统导出的 CSV 报表,用 Excel 双击打开,中文列全是问号、方块或火星文;用记事本打开反而正常。同一份文件在有的电脑正常、有的电脑乱码,让人摸不着头脑。

最常见原因

CSV 本质是纯文本,没有内置「我是什么编码」的声明。中文 Windows 的 Excel 默认按 GBK(ANSI)编码去读,而现在很多系统导出的 CSV 是 UTF-8 编码,两边对不上号,中文就成乱码。记事本会自动探测编码,所以它显示正常,这也是判断编码问题的简单办法。

分步解决

方法一:数据导入法(推荐,不动原文件)。

  1. 新建一个空白 Excel 工作簿;
  2. 点「数据」选项卡 →「从文本/CSV」(老版本叫「自文本」);
  3. 选中那个 CSV 文件,在导入界面把「文件原始格式」下拉改成 UTF-8,预览里中文正常后点「加载」;
  4. 老版本的三步向导:分隔符号选「逗号」,最后一步也能选编码,效果相同。

方法二:记事本转存法(应急最快)。

  1. 右键 CSV → 打开方式 → 记事本;
  2. 「文件 → 另存为」,编码选 ANSI(中文系统下即 GBK);
  3. 保存覆盖(或另存新名),再用 Excel 双击打开,中文恢复。 反过来,如果你做的 CSV 要给外国人或跨系统用,就转存成 UTF-8。

方法三:微软官方口径——带 BOM 的 UTF-8。Excel 能正确识别「UTF-8 with BOM」编码的 CSV。支持选择编码的文本编辑器里另存时选这个格式,Excel 双击打开就不乱码。

方法四:WPS 打开。WPS 对 UTF-8 的 CSV 识别往往更宽容,装了 WPS 的机器可以直接用它打开验证。

怎么预防

  • 固定报表流程:让导出方统一用「UTF-8 with BOM」或 GBK 之一,别混着来;
  • 自己处理 CSV 的习惯姿势永远是「数据 → 从文本/CSV」导入并手动指定编码,而不是双击硬开;
  • 重要数据先转 Excel 原生格式(.xlsx)存档,xlsx 内部带完整编码信息,不会再出这种乱码。

参考资料

更多企业 IT 实战经验,请浏览本站技术博客,或联系我们获取方案支持。