时间:2018-07-01 04:45 | 来源:网络整理 | 作者:采集插件 | 点击:次
前段时间用某软件导出了一个CSV文件,需要在Excel中处理并打印,但是我直接用Excel打开这个CSV文件却发现,文件中的所有中文字符都变成了乱码,经过自己的尝试,采用数据导入的方法解决了问题,后来又搜了一下,发现还有其他方法,数据导入只是其中一种而已。现在整理总结一下:
方法1、数据导入
打开 Excel,执行“数据”->“自文本”,选择 CSV 文件,出现文本导入向导,选择“分隔符号”,下一步,勾选“逗号”,去掉“ Tab 键”,下一步,完成,在“导入数据”对话框里,直接点确定。
导入之后,所有汉字显示正常,乱码问题解决。
方法2、先另存再打开
使用记事本打开CSV文件,“文件”->“另存为”,编码方式选择ANSI,保存完毕后,用EXCEL打开这个文件就不会出现乱码的情况。
问题产生的原因
为什么excel打开utf-8存储方式的文件会出现乱码呢?因为excel打开文件时默认使用unicode的编码方式(还有的网友说是默认以ANSI编码方式打开,待考)。在Unicode基本多文种平面定义的字符(无论是拉丁字母、汉字或其他文字或符号),一律使用2字节储存。恰恰utf-8是1字节的存储方式,所以excel直接打开时会出现乱码。
未经允许不得转载:高海鹏老师的博客 » 解决Excel打开UTF-8编码CSV文件乱码的问题
分享到:()
标签:
相关推荐
评论 7
#4
utf-8是1~4变长编码,utf-16(unicode)是4字节编码。
对于简体中文来讲,有两套向前兼容的文字编码:
ascii-gb2312-gbk-gb18030-gb18030扩展,即ansi;
ascii-utf8-utf16,即unicode。
现在多语言应用环境是主导,除了微软和大陆政府专用系统(最常见的报税报账软件),几乎所有软件都早已转成默认使用unicode了。
sad8个月前 (10-30)
#3
不过还是有用的
怪兽9个月前 (10-10)
#2
“恰恰utf-8是1字节的存储方式”,你确定懂???
11212年前 (2016-06-11)
不懂,我复制粘贴的。
高海鹏2年前 (2016-06-12)
#1
虽然解决方案不错,但是问题产生的原因分析错的离谱
原文 使用记事本打开CSV文件,“文件”->“另存为”,编码方式选择ANSI
这里已经表明了excel就是用ANSI读取的文件,下面怎么又说是
原文 excel打开文件时默认使用unicode的编码方式
原文 恰恰utf-8是1字节的存储方式
作者真的懂吗?
utf-8是标准的2字节存储方式
Unicode是标准, 是规范
utf-8是Unicode的一种实现方式, 可以说utf-8就是Unicode
mikuPy20012年前 (2016-05-16)
感谢指导!
高海鹏2年前 (2016-05-18)
utf8是变长编码,存储ABC123是一个字节,和ANSI相同,存储汉字是三个字节
tq1年前 (2017-06-13)