Excel2003编辑CSV文件,乱码

外贸公司在ebay、amazon上向多个国家销售商品,从ebay、amazon上下载的订单存在多国语言,常见有德语、法语、西班牙语等包含一些特别的字符(ô í Î...)。
由于我们用的是简体XP,将Office的默认语言设置为"英语(美国)"后,查看CSV文件基本不会有乱码。(这个方法是网上找的,也不知道为什么这样设置后查看就没有了问题)

但是当编辑这个CSV文件再保存后,德语、法语、西班牙语中的一些特别字符显示不正常,出现很"???"这样的问号乱码。
经了解,Excel 保存成 CSV格式时没有采用 UTF-8编码,保存的时候也没有编码选择。


另外,我们发现,国外的同事用英文版的 win7 + office 2007 编辑这个CSV文件没有乱码的问题。因此我们在简体XP系统上安装英文版的office 2003尝试,发现问题依然存在。
下一步准备安装 英文操作系统 + 英文Office,难道真的要这样做吗?有谁解决过类似问题,谢谢!

关于ASNI,GBK,GB2312,UTF-8,Unicode,UTF-16...等资料,请去维基百科搜索,上面是最详细,最透彻的.

"由于我们用的是简体XP,将Office的默认语言设置为"英语(美国)"后,查看CSV文件基本不会有乱码。(这个方法是网上找的,也不知道为什么这样设置后查看就没有了问题)"
这种方法当然没有问题了,这个方法是你告诉office用什么编码打开文件.

"但是当编辑这个CSV文件再保存后,德语、法语、西班牙语中的一些特别字符显示不正常,出现很"???"这样的问号乱码。
经了解,Excel 保存成 CSV格式时没有采用 UTF-8编码,保存的时候也没有编码选择。"
当然乱码了,因为你目前的环境是简体XP,内置ANSI GBK,codepage 936,而你看到的德语、法语、西班牙语中的字符对应到GBK编码中不存在就会被显示为?

"另外,我们发现,国外的同事用英文版的 win7 + office 2007 编辑这个CSV文件没有乱码的问题。因此我们在简体XP系统上安装英文版的office 2003尝试,发现问题依然存在。"
当然存在,既是你安装了英文版的Office2003,但是简体XP操作系统的ASNI依然是GBK

下一步准备安装 英文操作系统 + 英文Office,难道真的要这样做吗?有谁解决过类似问题,谢谢!"
不需要这么做.
只需要做以下步骤即可:
首先确认源头是否可以做到直接保存为UTF-8?如果可以,修改源头的保存格式即可,(如果是Linux或者Unix,文件还需要加UTF-8的BOM)

如果源头不能修改保存格式,那么步骤如下:
1.取得源头文件当时保存时操作系统的Codepage(比如简体:936,繁体XP:950,美国/加拿大XP:codepage 437等等)
2.保证转换格式的电脑支持源头文件的codepage(不支持,就下库安装)
3.开发一个小程式,用源头文件个codepage读取,然后保存为UTF-8

这样就解决了

基本思路如下:
源文件CSV Codepage XXXX --> .NET程式用Codepage XXXX读取文件 --> 保存为UTF-8文件 --> 如果缺少UTF-8的BOM,则在文件起始位置插入三个Byte: EF BB BF --> EXCEL开启CSV

谢谢 Lost_painting

美国/加拿大XP:codepage 437的英文操作系统就支持德语、法语、西班牙语字符?
英文操作系统+英文office 已经测试过了,Excel中编辑多语言CSV文件没有问题。


2.保证转换格式的电脑支持源头文件的codepage(不支持,就下库安装)

如果我在简体XP中安装codepage 437 ,那是否等于具备了英文XP内码,问题是不是就解决?

来源:nba直播

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值