Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 仅当电子表格打开文件时,URI必须为ascii?_Ruby_Ruby On Rails 4 - Fatal编程技术网

Ruby 仅当电子表格打开文件时,URI必须为ascii?

Ruby 仅当电子表格打开文件时,URI必须为ascii?,ruby,ruby-on-rails-4,Ruby,Ruby On Rails 4,我想读取excel文件,我使用以下代码打开excel: file = Roo::Spreadsheet.open(file_path) 但是当文件\u路径包含日语时,会发生错误: URI::InvalidURIError: URI must be ascii only "/Users/myname/Project/Test/tmp/data/\u{611b}\u{77e5}\u{770c}/s000226.xlsx" 我试图解析文件路径,但不起作用。 如何修复它?谢谢你。你可以试试 File

我想读取excel文件,我使用以下代码打开excel:

file = Roo::Spreadsheet.open(file_path)
但是当
文件\u路径
包含日语时,会发生错误:

URI::InvalidURIError: URI must be ascii only "/Users/myname/Project/Test/tmp/data/\u{611b}\u{77e5}\u{770c}/s000226.xlsx"
我试图解析
文件路径
,但不起作用。 如何修复它?谢谢你。

你可以试试

File.open(path, 'rb') do |file|
  xlsx = Roo::Spreadsheet.open(file, extension: '.xlsx')
end   

file=Roo::Spreadsheet.open(URI.enconde(文件路径))
。它能用吗?@lcguida:我试过了,但没用。你的file\u path变量似乎有问题<代码>\u{611b}\u{77e5}\u{770c}绝对不好。如果您有问题,它来自该变量/您如何设置它。我尝试了
roo的最新版本(v2.3.1)
,它可以打开包含
愛知県。顺便说一句,我在我的UbuntuLinux上测试了它,但我没有MAC。@Aetherus:我使用的是2.3.0版,但不工作。