前言

最近打开一个用ahrefs导出的csv数据文件,莫名其妙的出现了乱码的情况。因此当时用ahrefs下载的数据有点多,一下子没想到是什么原因引起的文件乱码

后面回忆了一下当时的操作,应该是下载的时候选择的不是utf-16编码,而是选择的utf-8编码。

那这问题可能就是编码错乱的问题引起的打开乱码,数量本身应该是好的(繁体中文),不存在根源上的乱码(只是Excel2016打开时显示的不是中文,是乱码)。

那以后ahrefs下载的csv数据表,再次出现这种CSV 乱码怎么办呢

没记错的话,ahrefs上显示,utf-16对应的打开程序是Microsoft Excel,而utf-8编码对应的则是open office

这么看来,如果能解决打开时编码错乱的问题,应该就可以正常打开文件了。

解决Excel打开CSV文件繁体中文乱码的问题

解决办法

顺着上面的思路,通过搜索,在网上的解发现了几个与博主相类似的乱码问题

都是源文件编码,与Office Excel中默认的打开编码不一致造成的,解决了编码不统一的问题,数据自然能正确的读出来。

注意,以下测试基础均建立在,源文件数据正常而非乱码,用高级编辑器能正常看到数据的情况。

解决Excel打开CSV文件繁体中文乱码的问题

如图,用Editplus可以看到正确的内容。

1. 改源文件编码为 「ANSI」(亲测有效)

查了一下Office中, Excel2016打开文件时所用的默认编码(博主用的是2016版,以下都是2016为测试案例),网上对比众说纷纭,并没有统一口径。

但这并不重要,因为Excel2016能很好的打开Ansi编码的文件,我们只要转换一下思路就行:

把乱码源文件,用Editplus等编辑器打开,另存为ANSI编码的新副本,应该就能满足Excel2016的正常打开条件。

实测:

解决Excel打开CSV文件繁体中文乱码的问题

通过上面步骤转换完后,用excel2016可正常打开转换编码后的文件,且没异常能编辑。

2. 数据导入

这方法就是利用自文本中的数据导入功能,选择正确的分隔符号导入错乱的数据即可

  • 1.新建一个空白 的Excel文件
    解决Excel打开CSV文件繁体中文乱码的问题
  • 2.找到菜单栏中的 “数据” 选项卡,点击 “自文本”,会要求选择导入文件,选完后弹向导框。
    解决Excel打开CSV文件繁体中文乱码的问题
  • 3.修改编码,找一个不乱码的编码,一般为 UTF-8 或者 GBK,然后点击下一步
    解决Excel打开CSV文件繁体中文乱码的问题
  • 4.按实际情况选文本的分隔符(最下文数据预览有效果看)
    解决Excel打开CSV文件繁体中文乱码的问题
  • 5.这设置每一列的数据格式,点击完成(一般默认常规即可

解决Excel打开CSV文件繁体中文乱码的问题

  • 6.这一步直接点击确定即可。
    解决Excel打开CSV文件繁体中文乱码的问题

正常情况下已经完成导入。

但“数据导入”这方法经经博主亲测,并不适合所有csv文件,存在大量不能导入的情况,如下面的“无法放置在一个工作表中“就是其中一种情况。

而且此方法过程过于繁琐,并不推荐

导入数据时出现“此文件包含的数据无法放置在一个工作表中”

出现以下的提示,一般都表示数据导入即将失败

解决Excel打开CSV文件繁体中文乱码的问题

总结

本文讨论csv打开乱码,最直接的原因是在ahrefs中下载数据时选择了open office utf-8格式的数据。

因此不想出现上面的繁体中文数据打开乱码的情况,下载时别手多选到utf-8上了,要选编码utf-16MicroSoft Office Excel那个选项。

解决Excel打开CSV文件繁体中文乱码的问题

如果不小心选到了utf-8上,可用上面的方法一打开

打开后的csv还是不能用excel2016修改的,即便修改后也不能保存,要再另存为xls格式才能保持修改的样式,当然这些都题外话了,不在本文的讨论范围。

文章目录