技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 发现 --> excel打开csv文件乱码的解决方法

excel打开csv文件乱码的解决方法

浏览:1547次  出处信息

   通过程序导出生成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字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如日文,韩文)。

   PS:本文转自“面朝大海,春暖华开,我在期待”的《EXCEL打开CSV文件乱码的解决方法》,只做学习、交流之用。

建议继续学习:

  1. JQuery实现Excel表格呈现    (阅读:46537)
  2. 神马?用excel来做项目管理?    (阅读:42237)
  3. windows下压缩包在linux解压乱码的解决办法    (阅读:4232)
  4. Python操作Excel    (阅读:4147)
  5. Linux screen窗口中文乱码问题    (阅读:4015)
  6. linux下vim的编译以及终端乱码的最终解决方案    (阅读:3577)
  7. perl的写excel文件    (阅读:2974)
  8. java中文乱码解决之道(六)—–javaWeb中的编码解码    (阅读:3254)
  9. php导出excel文件    (阅读:2613)
  10. 解决PHPMailer邮件标题中文乱码    (阅读:2677)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1