【发布时间】:2011-04-22 14:53:10
【问题描述】:
我正在为一家小商店开发 Rails 应用程序。它需要加载一个 .xls 文件,对其进行解析并可能加载到数据库中。 我使用电子表格 gem 来处理该文件。 问题是该文件包含显示为“└ÛÛ.ExT H-1727F (ÓÝÓÙ¯Ò GP T304)”的俄语字符
参考资料说,我需要指定编码,但我不知道这个文件中使用的是哪一种。我尝试了“win-1251”,但它给了我一个错误,提示我无法找到“utf-8 到 win-1251 转换器”
我将编码设置为“WINDOWS-1251”,但它给了我这个错误:
U+00BE to WINDOWS-1251 in conversion from CP850 to UTF-8 to WINDOWS-1251
然后我尝试了CP850,它没有抛出错误,但字符仍然不可读。
代码真的不多。
# -*- encoding : utf-8 -*-
...
def show
require 'spreadsheet'
Spreadsheet.client_encoding = 'UTF-8'
book = Spreadsheet.open 'c:\rails\renergy23\public\price-16-04-11.xls'
@sheet = book.worksheet 0
end
为了简单起见,我现在不将其加载到数据库中。相反,我在我的视图中输出它:
- 30.times do |i|
= @sheet.row i+10
%br
【问题讨论】:
-
试试
WINDOWS-1251或只是1251 -
没用。不过还是谢谢。
-
上传你的 .xls 文件,我会尝试做一些事情
-
您可以尝试在计算机编码下en.wikipedia.org/wiki/Cyrillic_alphabet 列出的编码 --> 其他
-
我已经添加了一些代码并上传了文件
标签: ruby-on-rails ruby encoding spreadsheet xls