电子表格红宝石宝石编码不起作用

时间:2014-04-03 14:55:06

标签: ruby-on-rails ruby encoding gem spreadsheet

当我尝试使用Spreadsheets gem在xls中编写字符串(即UTF-8)时,我遇到了一个奇怪的问题。它不会出错,但我得到一个无效的电子表格,随机字符(在Excel和Calc上打开,同样的事情)。

所以我认为这是一个编码错误,但我认为lib会自动将我的字符串转换为Excel使用的编码...我尝试将它们转换为ISO(.encode('ISO-8859-1') )),force_encoding为UTF-8,以及这两种方法的许多其他组合。有些会给出执行错误,而有些则无法执行。我应该做些什么特别的事吗?

电子表格:http://spreadsheet.rubyforge.org/

代码:

book = Spreadsheet::Workbook.new
sheet = book.create_worksheet

lines.each do |line|
  sheet.row(row).concat(line) #line is in utf-8
end

book.write @file

1 个答案:

答案 0 :(得分:2)

您应该尝试在ruby脚本之上添加以下魔术注释,然后尝试。

# encoding: UTF-8

在处理源代码之前,解释器会读取此行并设置正确的编码。所以,我认为这应该可以解决你的问题。

相关问题