将:: UndefinedConversionError -ASCII-8BIT编码为轨道上的UTF-8 ruby

时间:2015-07-01 12:25:20

标签: ruby-on-rails ruby file-upload encoding utf-8

2.2和raisl 4.1。我试图从用户那里读取xlsx文件。

 Parameters: {"utf8"=>"✓", "authenticity_token"=>"BJMhP6MnjUH17esTRxtaViIpBXL/aMzQgzuOI0a9LjI=", "attachment"=>{"attachment"=>#<ActionDispatch::Http::UploadedFile:0x00000006cd25e8 @tempfile=#<Tempfile:/tmp/RackMultipart20150701-9558-59shsp>, @original_filename="Book2.xlsx", @content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", @headers="Content-Disposition: form-data; name=\"attachment[attachment]\"; filename=\"Book2.xlsx\"\r\nContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\r\n">}, "commit"=>"Import Company Name list"}

在控制台

Encoding::UndefinedConversionError - "\xA0" from ASCII-8BIT to UTF-8:

即使传递UTF-8标记的参数我正在

String ctx = FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath();

try {
    FileInputStream imagem = new FileInputStream(ctx + "/src/main/webapp/imagesFedex/nova_logorapidao2.png");
} catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

错误..尝试了各种解决方案,例如 .force_encoding('UTF-8') mime :: type但没有解决问题?

有人对这个问题有所了解吗?

1 个答案:

答案 0 :(得分:1)

我找到了这种情况发生的原因,我有以下

gem 'meta_request','0.2.1'

在我的gemfile中删除此gem使文件上传工作完美。

希望这会帮助别人......