【摘要】 用C#程序通过StreamWriter导出字符串,导出生成txt文本文件,用记事本打开正常,改成csv格式,用excel打开乱码,且不能正确识别分列。 后用记事本打开,把编码从utf-8改成ansi之后……

用C#程序通过StreamWriter导出字符串,导出生成txt文本文件,用记事本打开正常,改成csv格式,用excel打开乱码,且不能正确识别分列。
后用记事本打开,把编码从utf-8改成ansi之后,就可以正确识别分列和没乱码了。

【故障现象描述】
从网页上导出数据文件存储为CSV格式的文件,使用记事本打开文字显示没有问题,使用EXCEL打开出现乱码的情况。

【故障原因分析】
此种情况一般是导出的文件编码的问题。在简体中文环境下,EXCEL打开的CSV文件默认是ANSI编码,如果CSV文件的编码方式为utf-8、Unicode等编码可能就会出现文件乱码的情况。
【解决方法】
(1)设置office语言环境(以office 2003为例):
开始菜单-Microsoft office- Microsoft office工具- Microsoft office 2003语言设置,将Microsoft office应用程序默认方式的语言设为“中文(简体)”,这也是office 2003的默认设置。

(2)使用记事本打开CSV文件,文件-另存为,编码方式选择ANSI:

(3)保存完毕后,用EXCEL打开这个文件就不会出现乱码的情况:

【编码方式讲解】
(1)ANSI编码
不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码。 不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中。 当然对于ANSI编码而言,0x00~0x7F之间的字符,依旧是1个字节代表1个字符。这一点是ASNI编码与Unicode编码之间最大也最明显的区别。例如上面演示的文件中英文字母和数字并没有出现乱码的情况。
(2)Unicode编码
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。
Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个码位。码位就是可以分配给字符的数字。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。
(3)UTF-8编码
UTF-8是UNICODE的一种变长字符编码又称万国码,由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如日文,韩文)。(转自:博客园)

转载请注明:Devin >> EXCEL打开CSV文件乱码的解决方法

我来说说

发表评论您必须先登录

In 2017

墨刀

二十岁时打架,兄弟多,那是面子,敢惹事那叫魄力!现在打架了,悄悄的,真怕身边的朋友笑话!

从前,天天喝大酒,唱歌,通宵KTV,那叫会玩。现在低调做人,约上三五知己喝喝茶,到公园跑两圈,多陪陪家人,那叫靠谱!

不管你混的多牛逼,多有钱,做和你年龄匹配的事,这叫责任! 也叫成熟!

10年前发个脾气,牛都拉不回来。10年后生个气,转眼就觉得没必要。时间渐渐磨去了年少轻狂,也渐渐沉淀了冷暖自知。

10年前,连多愁善感都要吹得惊天动地 ,10年后,越痛越不动声色;越苦,越保持沉默 。

10年前,我们本着糊涂装明白。10年后,我们本着明白装糊涂。成长就是将你的一切都变成心静如水。

In 2016

放下,守心,承担
独立自主
敢想敢做,而能不计旁人眼光
说走就走,而能不再瞻前顾后

In 2015

愿这一年,

不再蹉跎、不作妄谈,
可以抱有千种期许,但至少播种一个开端;

不必发狠、不求看穿,
懂得各有山高水长,不必苦求同路与照看;

依然敢爱、敢离开,
从错误里汲取、在行走中放下,
平常应对平淡,平心看待平凡;

生活若能精彩更好,
但更重要的自己开心,家人幸福。

About Devin

昵称:Devin
性别:男性
邮箱:atDevin#qq.com

本人的长相


简历:

2015-2017 长虹智慧健康 .产品经理岗
2012-2015 苏宁易购 .广告媒介岗
2008-2012 中国矿大 .电子商务

简介:


男、爱生活、爱世界

许可


本博客采用“知识共享署名-非商业性使用-禁止演绎 3.0 Unported许可协议”进行许可。基于“www.atdevin.com”上的作品创作。本博未注明转载的作品皆为本博原创。

知识共享@中国大陆知识共享署名-非商业性使用-禁止演绎