用Excel直接打开SDP导出的UTF-8编码的csv报表文件显示乱码的解决方法

用Excel直接打开SDP导出的UTF-8编码的csv报表文件显示乱码的解决方法

CSV是一个平面文件,它的编码方式有多种。比如,MongoDB以UTF-8格式存储数据,在使用mongoexport导出为CSV文件时,CSV的编码即为UTF-8。(可以将导出的CSV文件用UltraEdit打开来验证编码格式)

当直接使用Excel打开UTF-8编码的CSV文件时会出现乱码。

Excel打开CSV文件依赖于系统的区域设置。由于区域设置的影响,以及CSV文件不同的实现,那么Excel需要以正确的方式来打开CSV文件。我们以从MongoDB导出的UTF-8格式编码的CSV文件为例:

1. 打开Excel应用程序。
2. 点击“数据”菜单的“自文本”



3.选择CSV文件,点击“导入”,出现“文本导入向导”对话框。

从上面的默认设置我怀疑Excel默认以“Windows(ANSI)”打开CSV,未识别编码。


4. 文件类型选择“分割符号”,文件原始格式选择“65001:Unicode(UTF-8)”,勾选“数据包含标题”,点击下一步。


5.分割符号去掉“Tab键”而勾选“逗号”,点击“下一步”。


6.列数据格式根据需要选择,这里保持常规,点击“完成”。


7.弹出“导入数据”对话框,我们选择“现有工作表”,点击“确定”。


8. 数据显示正常。