加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:26:16 所属栏目:百科 来源:网络整理
导读:我正在使用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”.我如何使资源管道使用
我正在使用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文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读