解决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直接打开时会出现乱码。

时间: 2024-12-27 12:12:01

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

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

解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG [email protected] http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-6-6 方法一: 出处:http://blog.csdn.net/leonzhouwei/article/details/8447643 直接用 Excel 打开 UTF-8 编码的 CSV 文件会导致汉字部分出现乱码. 原因是 Excel 以 ANSI 格式打开,不会做编码识别. 打开 UTF-8 编

解决ZendStudio打开utf-8格式的php文件乱码

一般php文件都为utf-8无BOM格式的,用zendstudio默认设置打开时中文会产生乱码,这是因为zendstudio默认设置编码格式为GBK格式,所以我们这里需要重新设置其编码格式,这个是zendstudio9.0.0.4版本,其他版本基本一样 工具/原料 PC ZendStudio 9.0.0.4 方法/步骤 首先用zendstudio打开php文件,看到的是中文乱码   点击菜单栏导航中的"编辑",再点击弹出窗的"设置编码"   看到弹出的对话框,选择&

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

解决Excel打开UTF-8编码的CSV文件乱码的问题 引用自:https://en.wikipedia.org/wiki/Comma-separated_values " CSV formats are not limited to a particular character set. They work just as well with Unicode character sets (such as UTF-8 or UTF-16) as with ASCII (although par

CSV文件乱码展示(编码格式问题)

最开始mac上打开CSV文件乱码,是这样的:CSV文件编码格式为UTF-8 解决办法一:将excel文件同样的转换编码格式为utf-8,具体操作如下: 去掉tab,勾选comma 最后,将文件另存为utf-8的格式以保持数据文件不会乱码 问题2:CSV文件如果是gbk格式需要如何打开excel 解决办法:使用文本编辑器打开,然后,修改其excel值 实际操作过程中修改一条数据我们可以很容易做到,修改十条数据我们可以稍微吃力一点,但是如果修改上万条数据的办法呢? 解决方案: 1.新建一个excel

记一次java生成csv文件乱码的解决过程 (GB2312编码)

系统:win7 (格式:中文(简体,中国)) 工具:Eclipse (默认编码utf-8) 服务两个:[restful接口]  和 [服务*** server]. 场景:[服务*** server]多次调用[restful接口],每次[restful接口]会返回一个生成好的csv文件内容.[服务*** server]将每次[restful接口]返回的csv内容保存成一个csv文件.并将生成的多个csv文件打包成一个zip压缩包. [restful接口]:根据一组数据生成csv文件 1. java

csv文件乱码

问题描述: 生成的csv文件,设置为UTF-8格式,在windows上用EXCEL打开的话会乱码,在linux上用vim或者cat打开查看正常:设置为GBK格式的话,在windows上用EXCEL打开正常,但在linux上乱码 解决方法: 在csv文件头部的最前面加bom BOM(Byte Order Mark),是 UTF编码方案里用于标识编码的标准标记,在 UTF-16里本来是 FF FE,变成 UTF-8就成了 EF BB BF.这个标记是可选的,因为 UTF8字节没有顺序,所以它可以被用

ubuntu gedit 打开 windows 分区中txt 文件乱码

http://blog.csdn.net/pipisorry/article/details/39482861 ubuntu 12.04 gedit 打开 windows 分区中的txt 文件乱码,是因为 ubuntu 和 windows 两个系统的编码不同. 解决办法1:(推荐) 终端里依次输入以下 2 条命令即可: gsettings setorg.gnome.gedit.preferences.encodings auto-detected "['GB18030','GB2312', 'G

导入CSV文件乱码

CSV格式的数据导入乱码,是很常见的一个问题.遇到此问题可试下以下方法: 1. CSV文件导入系统前没有乱码,在导入过程中出现乱码,可尝试改下文件的编码格式: 检查数据无误的csv文件,以记事本方式打开,另存为unicode编码格式.然后将unicode的文件进行导入就可以了. 2. CSV文件,AX在中文环境下,导入中文不乱码,在英文环境下导入中文数据乱码,检查代码: 这种情况出现,很可能是代码中用的CommaIO类,只支持单字节流导致.英文是单字节字符,中文是双字节字符,这就导致在英文环境下

PHP 导出csv文件乱码解决方案

最近在开发一个导出csv文件数据,到含有中文的时候会乱码,现在发现了一个很好的解决方案,就是再fwrite前加入一行代码即可. $fp = fopen("order.csv", "a"); //在写入数据之前先把bom头写到文件里 fwrite($fp,"\xEF\xBB\xBF"); $p=fwrite($fp,$str); // 写入数据 fclose($fp); 加上之后就可以正常了.