【发布时间】:2016-06-05 20:00:45
【问题描述】:
我有一个 xlsx 文件,我执行以下操作将其导出为 .csv:
- 使用excel将xlsx文件导出为csv,默认编码
- 用记事本打开.csv文件,指定编码utf8再次保存(记事本保存BOM)
- 用 CSV.read(path_to_file) 打开文件
它似乎运行良好,但由于某种原因,第一个标题被一些未知字符损坏(我不知道它是什么,当我尝试复制粘贴它时它消失了,它表示为一个大的白色矩形在 Windows 中)
当我用任何文本编辑器打开我的文件时,似乎没有问题
第一行看起来像:Id;Type....
如果这有帮助
csv.headers.first # => ".Id" where . is that character
csv.headers.first.first.bytes # => [239, 187, 191]
csv.headers.first.first.b # => "\xEF\xBB\xBF"
我该如何解决?
Windows 10、Ruby 2.2
【问题讨论】:
-
UTF8 和 BOM,有什么问题?
-
为什么CSV解析器没有自动检测到这个BOM?