为了识别 Unicode 文件,Microsoft 建议所有的 Unicode 文件应该以 ZERO WIDTH NOBREAK SPACE字符开头。这作为一个”特征符”或”字节顺序标记(byte-order mark,BOM)”来识别文件中使用的编码和字节顺序(big-endian或little-endian),具体的对应关系见下表。

Bytes             Encoding Form

00 00 FE FF    UTF-32, big-endian

FF FE 00 00    UTF-32, little-endian

FE FF             UTF-16, big-endian

FF FE             UTF-16, little-endian

EF BB BF        UTF-8

以UTF-8无BOM格式编码,因此要想导出Microsoft Excel可以正常显示的UTF-8的CSV文件,需要显式的输出BOM(EF BB BF,上表的最后一种类型),然后再输出有效数据。

那没办法,既然不支持,那只有将文件保存成能识别的格式,再用Excel打开吧!

也有人说可以通过在文件头部写入UTF-8的BOM格式编码标记,但这种方法相对比较复杂,而且需要借助其他工具来完成文件的修改。所以不建议使用这种方法。具体可以百度。

【故障现象描述】

从网页上或别的系统导出数据文件存储为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字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如日文,韩文)。

https://blog.csdn.net/wodatoucai/article/details/46970347

https://blog.csdn.net/Sukie_csdn/article/details/78752969?utm_source=blogxgwz0

Mac下Android绘制点9格式png以及解决IllegalArgumentException: Unknown image type 0报错

在Mac下的AndroidStudio中,右键png图片选择“create 9-patch-file”时会报错:IllegalArgumentException: Unknown image type ...

mac下SVN上传.a静态库文件

在mac下很多svn管理工具默认都不能上传.a文件,但是用命令行可以解决此问题. 打开终端,cd 进入到需要上传的.a文件所在的文件夹. 确保 ls能看到.a文件 然后使用命令,如:svn add l ...

Mac下使用zsh不执行/etc/profile文件

Mac下使用了zsh会不执行/etc/profile文件,当然,如果用原始的是会执行. 转而执行的是这两个文件,每次登陆都会执行: ~/.zshrc与/etc/zshenv与/etc/zshrc 所以 ...

windows下给用非exe格式的文件安装网卡驱动

之前我只知道用驱动精灵来给新机器装网卡驱动,或者用下载好的exe格式文件给非新机器装网卡驱动. 今天下载了一个非exe格式的文件,就不知道怎么装了,百度了一下才知道,可以通过:”设备管理器“-> ...

Mac下eclipse导入其他工程中文注释出现乱码解决方案

因为用的是mac版的eclipse,导入其他工程注释出现乱码的情况,找了网上的很多方法,大部分都是说的workspace,在这里修改,但是我修改之后还是乱码,最后发现这样一个方法,才得以解决. 点击 ...

apktool 在mac下的使用 -反编译安卓apk文件

1.下载apktool 点击这里下载 ,里面有两个文件,一个是.jar,一个是自己写的脚本.sh 注:最新的apktool.jar 文件可以点击这里下载 .sh脚本是自写脚本可不用更新最新,下载的ja ...

解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码. iTerm2展示如下: VS ...

Mac下Go2Shell打开配置界面

open -a Go2Shell --args config

我的Windows日常——Excel 打开.xls .xlsx 文件格式或文件扩展名无效

就问下各位,这个图,熟不熟?!! 不熟? 好吧当我没问,遇到过的没遇到过的都让我继续写下去吧.... 很多时候,我们新建了一个word文件,但是打开却会弹出这个小窗口,新建的文件出现这个问题,是什么原 ...

随机推荐

Linux系统移植(1) ------搭建交叉编译环境

本人的开发环境是ubuntu12.05的64版本,运行在11.00的虚拟机上.首先说明为什么需要搭建交叉编译环境.我们知道,我们的开发一般在PC机上,是基于X86架构的,而我们的开发板却是基于ARM架 ...

生成SSH key

1.打开终端 2.输入cd ~/.ssh 3.输入ssh-keygen -t rsa -C (邮箱) 4.前往文件夹 /Users/admin/.ssh/id_rsa 5.找到id_rsa.pub , ...

select框的text与value值的获取(实用版)

function def(){    var key = document.getElementById ('selectarea'); //select list var value = docum ...

listview 遇到问题java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0

开发的时候 遇到 java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0 这个异常有时候会有,有时候正常 不太好捕捉 猜测 已经 ...

android传送照片到FTP服务器

package com.photo; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundE ...

Delphi中获取Unix时间戳及注意事项(c语言中time()是按格林威治时间计算的,比北京时间多了8小时)

uses DateUtils;DateTimeToUnix(Now) 可以转换到unix时间,但是注意的是,它得到的时间比c语言中time()得到的时间大了8*60*60这是因为Now是当前时区的时间 ...

hdu3076—概率dp

hdu3076-概率dp 标签 : 概率dp 题目链接 题意: 2个人分别有AB的血数,轮流扔骰子,数小的自减一血,平的不变,谁先到减0, 谁输,问A赢的概率. 题解: dp[i][j]表示的是第一个 ...

springboot配置Druid数据源

springboot配置druid数据源 Author:SimpleWu springboot整合篇 前言 对于数据访问层,无论是Sql还是NoSql,SpringBoot默认采用整合SpringDa ...

Codeforces Round #373 (Div. 2) B. Anatoly and Cockroaches 水题

B. Anatoly and Cockroaches 题目连接: http://codeforces.com/contest/719/problem/B Description Anatoly liv ...

Mina 断线重连

Mina 断线重连 定义:这里讨论的Mina 断线重连是指使用mina作为客户端软件,连接其他提供Socket通讯服务的服务器端.Socket服务器可以是Mina提供的服务器,也可以是C++提供的服务 ...

utf—8在苹果手机上乱码_MAC 下 Excel打开UTF-8格式的文件乱码相关推荐

  1. 解决Excel打开UTF-8编码的CSV文件乱码的问题 实测好用

    解决Excel打开UTF-8编码的CSV文件乱码的问题 1 2 3 4 5 6 分步阅读 CSV是一个平面文件,它的编码方式有多种.比如,MongoDB以UTF-8格式存储数据,在使用mongoexp ...

  2. mac系统下excel打开csv中文乱码

    原因 csv文件通常是utf-8进行编码的,mac系统使用的也是utf-8编码,按理来说mac系统下打开csv文件轻而易举,即便是中文也不应出现乱码. 的确,用numbers和textFile打开cs ...

  3. utf—8在苹果手机上乱码_UTF-8中文乱码怎么去解决

    为什么在ASP里指定了CodePage为65001还经常出现中文显示乱码?才子在这里将这个问题详细解释一下,以免很多朋友再走弯路,甚至排斥UTF-8. 如果你还不知道UTF-8是什么东东,那才子建议你 ...

  4. Java读取UTF-8格式txt文件第一行出现乱码及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法(转载)...

    原文地址:http://blog.csdn.net/jackpk/article/details/5702964/ Java读取UTF-8的txt文件第一行出现乱码"?"及解决 t ...

  5. 关于Excel打开UTF-8格式的文件乱码

    今天同事拿来一份Excel文件,双击打开以后里面的中文都显示乱码.查看这份文件,发现其编码格式为UTF-8.        为了识别 Unicode 文件,Microsoft 建议所有的 Unicod ...

  6. linux和windows双系统互拷文件乱码问题,linux和windows双系统互拷文件乱码问题

    如果你需要在linux下面用到windows下的文件,拷贝上去后经常发现中文显示乱码..原因是Windows中默认的文件格式是 GBK(gb2312),而Linux一般都是UTF-8.比较繁琐的方法是 ...

  7. csv文件导入后台乱码_用Excel打开CSV格式文件乱码,三种方法可以处理好!

    日常办公中,我们使用办公软件办公是比较平凡的,现在的办公软件也有好几种(微软的office.金山的WPS等).而且小编觉得在所有的办公软件中是微软的office是比较有名的.这款软件不仅功能齐全,还可 ...

  8. utf—8在苹果手机上乱码_Xcode下的中文乱码问题

    =========== 问题原因 绝大部分的中文乱码是因为文件编码不对导致的: 使用了GBK的文件编码方式在Xcode下是无法识别的 老版本的Xcode对带BOOM头的UTF8文件编码也是无法识别的( ...

  9. utf—8在苹果手机上乱码_【研究】解决iPhone中文邮件乱码的四种方法

    转载自FTidea.com 众所周知,由于iPhone目前在MobileMail中尚不支持除UTF-8之外的其它编码,而大部分国内中文邮件采用GB2312编码,造成中文邮件大多在iPhone上显示乱码 ...

最新文章

  1. Redis的各项功能解决了哪些问题?
  2. 背景减除(Background Segment)
  3. 中国药妆行业投资现状与发展策略分析报告2022-2028年
  4. Python urllib与requests、XML和HTMLParser
  5. Delphi十进制和十六进制互转 Delphi 自带函数 IntToHex
  6. 机器学习-预测之时间序列分析预测法原理及实战
  7. 惊呆了!颜值爆表的20+位阿里技术女神同一时间向你发出共事邀请!
  8. android 如何叠加view,如何将另一个叠加项添加到android mapview
  9. 分子动力学模拟软件_分子模拟软件Discovery Studio教程(十三):构建PLS模型(3D-QSAR)...
  10. 转换php script类型,ECMAScript 类型转换
  11. 关于SSH使用的一些经验
  12. 安装firefox扩展(xpi)文件的简便方法
  13. 程序设计语言的基本概念
  14. 网络与系统安全笔记------身份认证技术
  15. 微博开放平台-发微博测试
  16. python-认识(第五段-函数)
  17. 讯飞机器翻译质量评估挑战赛Baseline(PaddlePaddle)
  18. Redis 客户端三种不同的实现方式(Redisson、lettuce、jedis)
  19. mysql的粒度_mysql锁粒度是什么
  20. 如何用好 Google 等搜索引擎?

热门文章

  1. 联想服务器远程桌面连接不上,远程连接不上怎么处理
  2. 单片机ISP、IAP和ICP几种烧录方式的区别
  3. 智能笔式万用表简单体验加拆解 - VC6012C - 智能电笔
  4. C#对图片进行缩放变换
  5. 某香港上市深圳互联网公司 网络部分面试题
  6. 如何系统的学习黑客技术
  7. (附源码)计算机毕业设计ssm电影院订票系统
  8. usb阅读笔记-----USB设备被识别流程
  9. (iOS) IPTools.h/m - 获取ip地址(ipv4/ipv6)
  10. WPF编程--3D控件HelixToolkit