一个热爱网络的小学教师

解决Excel打开UTF-8编码CSV文件乱码的问题

前段时间用某软件导出了一个CSV文件,需要在Excel中处理并打印,但是我直接用Excel打开这个CSV文件却发现,文件中的所有中文字符都变成了乱码,经过自己的尝试,采用数据导入的方法解决了问题,后来又搜了一下,发现还有其他方法,数据导入只是其中一种而已。现在整理总结一下:

方法1、数据导入

打开 Excel,执行“数据”->“自文本”,选择 CSV 文件,出现文本导入向导,选择“分隔符号”,下一步,勾选“逗号”,去掉“ Tab 键”,下一步,完成,在“导入数据”对话框里,直接点确定。

导入之后,所有汉字显示正常,乱码问题解决。

方法2、先另存再打开

使用记事本打开CSV文件,“文件”->“另存为”,编码方式选择ANSI,保存完毕后,用EXCEL打开这个文件就不会出现乱码的情况。

问题产生的原因

为什么excel打开utf-8存储方式的文件会出现乱码呢?因为excel打开文件时默认使用unicode的编码方式(还有的网友说是默认以ANSI编码方式打开,待考)。在Unicode基本多文种平面定义的字符(无论是拉丁字母、汉字或其他文字或符号),一律使用2字节储存。恰恰utf-8是1字节的存储方式,所以excel直接打开时会出现乱码。

赞(1) 打赏
转载请标明出处:高海鹏老师的博客 » 解决Excel打开UTF-8编码CSV文件乱码的问题
分享到: 更多 (0)

留言 9

Protected by WP Anti Spam
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #0

    老师好,请教一下,如果有批量CSV文件,需要通过 方法2,进行转换,有什么快捷的方法吗?

    “方法2、先另存再打开使用记事本打开CSV文件,“文件”->“另存为”,编码方式选择ANSI,保存完毕后,用EXCEL打开这个文件就不会出现乱码的情况。”

    sanyulian3年前 (2021-05-02)回复
    • EditPlus可以批量更改文本编码。

      高海鹏3年前 (2021-05-03)回复
  2. #0

    utf-8是1~4变长编码,utf-16(unicode)是4字节编码。
    对于简体中文来讲,有两套向前兼容的文字编码:
    ascii-gb2312-gbk-gb18030-gb18030扩展,即ansi;
    ascii-utf8-utf16,即unicode。
    现在多语言应用环境是主导,除了微软和大陆政府专用系统(最常见的报税报账软件),几乎所有软件都早已转成默认使用unicode了。

    sad7年前 (2017-10-30)回复
  3. #0

    不过还是有用的

    怪兽7年前 (2017-10-10)回复
  4. #0

    “恰恰utf-8是1字节的存储方式”,你确定懂???

    11218年前 (2016-06-11)回复
    • 不懂,我复制粘贴的。

      高海鹏8年前 (2016-06-12)回复
  5. #0

    虽然解决方案不错,但是问题产生的原因分析错的离谱
    原文 使用记事本打开CSV文件,“文件”->“另存为”,编码方式选择ANSI
    这里已经表明了excel就是用ANSI读取的文件,下面怎么又说是
    原文 excel打开文件时默认使用unicode的编码方式

    原文 恰恰utf-8是1字节的存储方式
    作者真的懂吗?
    utf-8是标准的2字节存储方式
    Unicode是标准, 是规范
    utf-8是Unicode的一种实现方式, 可以说utf-8就是Unicode

    mikuPy20018年前 (2016-05-16)回复
    • 感谢指导!

      高海鹏8年前 (2016-05-18)回复
    • utf8是变长编码,存储ABC123是一个字节,和ANSI相同,存储汉字是三个字节

      tq7年前 (2017-06-13)回复

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏