Excel打开CSV文件全是乱码?文件没坏,编码一换就正常

同事发来一个 CSV 表格,双击打开,中文列全变成了问号和方块。头一个反应多半是文件传坏了,让对方重发一遍——重发,还是乱码。其实文件一点没坏,坏的是打开方式:CSV 是纯文本格式,中文编码分 GBK 和 UTF-8 两大门派,Excel 双击打开时按本地默认编码去猜,猜错了门派,显示出来就是天书。

三招按顺序用,一招比一招稳

头一招,转换文件编码:右键这个 CSV,打开方式选记事本,能正常显示中文说明文件是好的;在记事本里另存为,编码一栏选“带有 BOM 的 UTF-8”,存成一个新文件,再用 Excel 双击打开,中文就回来了。注意这里有个细节——光选“UTF-8”不带 BOM,部分 Excel 版本照样乱码,一定要选带 BOM 的那一项。第二招,从 Excel 里面导入:新建一个空工作簿,在“数据”页签里选“从文本/CSV”,选中原文件,弹出窗口里有编码下拉框,逐个试 65001(Unicode)和“简体中文 GBK”,预览窗口中文显示正常的那一个就是对的,点加载。这一招不动原文件,试错了也没有任何损失,拿不稳就先走这条。第三招,从源头定规矩:如果这文件是业务系统、进销存导出的,每次都要靠人碰运气,就该找软件方把导出编码定死为带 BOM 的 UTF-8,一次谈妥,往后所有电脑打开都正常。

一个动作要格外当心

乱码状态下千万不要点保存。有人打开一看是乱码,顺手按了 Ctrl 加 S——这一存,乱码就写死在文件里了,再换什么编码都救不回来,等于亲手把原件毁了。正确动作永远是:先确认预览正常,再另存新文件;原文件在问题解决前保持只读心态。另外给同事回传时也留意:对方如果也用 Excel,交带 BOM 的版本;对方用别的软件,就交原始编码不动。

一分钟判断文件是谁的门派

记事本打开文件,右下角状态栏写着编码名;存得对不对,看另存为窗口默认选中项就知道。把“用记事本验一眼”养成习惯,乱码问题十有八九当场定位——它不是玄学,就是两套汉字编码规则在打架。

诚鑫致达科技帮客户上新系统时,都会先和软件方对一遍导出格式——CSV 用什么编码、Excel 怎么打开,写成一页操作单留在工位,乱码问题从源头断掉。

转发给常跟你互发表格的同事,把“另存为带 BOM 的 UTF-8”这条定成两个人的默契。