ruby-on-rails – 使用rails资产管道在javascript文件中编码问题

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 使用rails资产管道在javascript文件中编码问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用rails 3.1和资产管道( ruby 1.9.2).

尝试提供具有utf-8编码字符串的JavaScript js.erb文件时,我会收到以下错误

invalid byte sequence in US-ASCII

我在我的environment.rb文件中设置了Encoding.default_external =“UTF-8”.我如何使资源管道使用不同的编码?

编辑

当我在文件外部生成utf-8字符(在本例中是通过从DB查询)时,该错误才会显示出来.如果我添加,错误消失

<% "日" %>

文件的顶部.我猜测这里有一些编码猜测,但是如果没有这种hacky解决方案,我该如何避免呢?

解决方法

加载文件时,Ruby尝试“猜测”其编码.如果没有找到UTF-8或任何其他非ASCII字符,则使用US-ASCII作为文件的编码,如果突然遇到非ASCII字符,则会发出错误.在运行时加载.

这个问题的最佳解决方案是强制Ruby通过添加使用某种编码#encoding:utf-8作为.rb文件的第一行或<%#encoding:utf-8%>如果它是一个.erb文件.

原文链接:https://www.f2er.com/ruby/270998.html

猜你在找的Ruby相关文章