admin 管理员组

文章数量: 887021

为了识别 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/wodatoucai/article/details/46970347

https://blog.csdn/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/contest/719/problem/B Description Anatoly liv ...

Mina 断线重连

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

本文标签: 乱码 机上 苹果 格式 文件