Ruby CSV不正确的第一个字符
我有一个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
这是UTF-8 BOM。 尝试设置像这样的模式:
CSV.read(path_to_file, 'r:bom|utf-8')