加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Excel导入utf-8的中文编码转换

(2012-11-14 11:37:28)
标签:

utf-16

编码方式

utf-8

it

一、问题的产生
    从mongo数据库中导出csv格式的文件,可以被excel打开。但当csv文件中含有utf-8格式(存储方式)的中文时,用excel打开就会显示乱码。

 

二、问题产生的原因
    为什么excel打开utf-8存储方式的文件会出现乱码呢?因为excel打开文件时默认使用unicode的编码方式。在Unicode基本多文种平面定义的字符(无论是拉丁字母、汉字或其他文字或符号),一律使用2字节储存。恰恰utf-8是1字节的存储方式,所以excel直接打开时会出现乱码。

    下面对一些名词稍作一下解释,便于理解上面的内容:

1- UTF是Unicode Translation Format的缩写,即把Unicode转做某种格式的意思。一般意义上UTF是一种存储方式,分为UTF-8和UTF-16两种格式,分别占用1字节和2字节的存储空间。

2- Unicode是一种编码方式,和ascii是同一个概念。在Unicode基本多文种平面定义的字符(无论是拉丁字母、汉字或其他文字或符号),一律使用2字节储存。(即utf-16)

3- UTF-16比起UTF-8,好处在于大部分字符都以固定长度的字节 (2字节) 储存,但UTF-16却无法兼容于ASCII编码。

4- 编码方式,简单来说既是,二进制数字与字符集的对应关系。

 

三、问题的解决
    回到excel上来,只要将excel欲打开的中文文件的存储格式转换成utf-16(unicode),便不会显示乱码了。
   
四、解决的方法
1- 将mongo导出的csv文件以记事本的方式打开。
2- 点击“文件-另存为”,编码方式选择unicode,扩展名保持csv不变。保存文件。
3- 打开excel,在excel中打开刚才保存的unicode格式的csv文件。
4- excel会弹出名为“文本导入向导”的面板,点击“下一步”。
5- “分隔符号”只勾选“逗号”,点击“完成”。
6- 将转换好的文件另存为excel默认工作簿。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有