用于CSV导入的UTF编码

时间:2013-02-06 19:27:49

标签: ruby-on-rails ruby

我正在尝试将csv文件导入rails应用程序。我按照RailsCast中给出的指示> http://railscasts.com/episodes/396-importing-csv-and-excel

无论我做什么,但我仍然会收到以下错误:

PropertiesController#import

中的ArgumentError

UTF-8产品中的无效字节序列。

我希望有人可以帮我找到解决方案。

1 个答案:

答案 0 :(得分:0)

您是否阅读过CSV文档? open方法以及new动态支持多字节字符转换:

  

除非您的数据位于Encoding :: default_external()中,否则您必须提供具有嵌入式编码指示符的模式。 CSV将检查底层IO对象的编码(由您传递的模式设置)以确定如何解析数据。您可以提供第二个编码,以便在读取数据时对其进行转码,就像正常调用IO :: open()一样。例如,“rb:UTF-32BE:UTF-8”将从文件读取UTF-32BE数据,但在CSV解析之前将其转码为UTF-8。