excel打开csv乱码是因编码不匹配,应使用“从文本/csv”导入向导手动选utf-8(65001);或用记事本/notepad++转存为utf-8-bom格式实现双击正常打开。

电脑导出的CSV文件在Excel里打开全是方块、问号或乱码字符,不是文件坏了,而是Excel根本没用对编码方式读取它——双击打开走的是系统默认GBK路径,而数据库或程序导出的CSV大概率是UTF-8无BOM格式,两者一碰就错位。
用Excel“从文本/CSV”导入向导手动选编码
这是最稳妥、不改原文件的方法,适用于Navicat、MySQL Workbench、Python pandas.to_csv()等工具导出的UTF-8 CSV文件。
第一步:打开空白Excel工作簿 → 点击顶部【数据】选项卡 → 在“获取和转换数据”组中点击【从文本/CSV】。
第二步:在弹出窗口中定位并选中你的CSV文件 → 点击【导入】。
第三步:预览界面右下角找到【文件原始格式】下拉菜单 → 【必须手动选择,不能留“自动检测”】 → 优先选“65001: Unicode (UTF-8)”。若中文仍乱码,再试“936: 简体中文(GBK)”。
第四步:确认预览区文字显示正常 → 点击右下角【加载】按钮,数据即完整导入新工作表。
用记事本转存为带BOM的UTF-8(适合双击直开)
如果你希望以后双击CSV就能正常打开,就得给文件加个“身份标识”——UTF-8 BOM头。但注意:【保存后原文件被覆盖,操作前务必复制备份】。
方法一(系统自带记事本):
本文档主要介绍如何通过python对office excel进行读写操作,使用了xlrd、xlwt和xlutils模块。另外还演示了如何通过Tcl tcom包对excel操作。感兴趣的朋友可以过来看看
右键CSV文件 → 【打开方式】→ 【记事本】。如果记事本里也显示乱码,说明当前编码不是记事本默认支持的ANSI/GBK,此时请跳过此方法,改用Notepad++。
点击【文件】→ 【另存为】→ 在对话框底部找到【编码】下拉框 → 选择【UTF-8-BOM】(若没有该选项,则选【UTF-8】并勾选“添加BOM”复选框,部分新版记事本已支持)→ 点击【保存】。
方法二(Notepad++推荐):
用Notepad++打开乱码CSV → 菜单栏【编码】→ 【转为 UTF-8-BOM 格式】→ 【文件】→ 【保存】。
保存后直接双击该CSV文件,Excel就能正确识别并显示中文了。
避开常见陷阱:三个关键动作检查
① 检查Navicat导出设置:导出时【编码】必须设为UTF-8,且【字段分隔符】为逗号、【文本限定符】为英文双引号;否则即使Excel选对编码,内容本身已是乱码字节流,无法挽救。
② 避开空CSV文件的BOM陷阱:如果CSV文件为空,用UTF-8-BOM保存后,Excel打开会显示一个孤立乱码字符(U+FEFF),此时应改用“UTF-8 无BOM”保存,再通过导入向导打开。
③ 分隔符异常时强制重置:导入预览中若发现所有内容挤在一列,说明分隔符没识别对 → 点击预览区任意列标题右侧的下拉箭头 → 【用分隔符号导入】→ 勾选【逗号】→ 取消勾选【Tab】→ 点击【加载】。










