【问题标题】:specifying erb template file encoding指定 erb 模板文件编码
【发布时间】:2015-01-04 23:55:40
【问题描述】:

我尝试使用 apache2 和乘客运行 rails 应用程序 (Airesis)。 erb 文件包含 UTF-8 编码字符。我明白了

Encoding::CompatibilityError (incompatible character encodings: ASCII-8BIT and UTF-8):

错误,对应于 erb 中包含 utf-8 编码字符的行。 有趣的是,另一台与 rvm 设置完全相同的机器没有这个问题。我们可以确定的唯一区别是工作机器具有 hu_HU.UTF-8 作为默认语言环境,而非工作机器具有 C。但是更改系统语言环境后问题并没有消失。

试图指定

<% # -*- coding: UTF-8 -*- %>

在erb文件的开头,检查Application类是否有

config.encoding = "utf-8"

添加

Encoding.default_external = "UTF-8"

添加到 config/application.rb 的开头

export RUBYOPT=-Ku

到/etc/default/apache2,和

SetEnv RUBYOPT=-Ku

到 apache 配置文件。

他们都没有解决问题。

我使用 apache2,以及所有与 ruby​​ 相关的东西,包括通过 root 使用 rvm 安装的乘客。 版本: ruby 2.1.0p0(2013-12-25 修订版 44422)[x86_64-linux] 导轨 4.0.2 乘客 4.0.56

感谢任何帮助。

【问题讨论】:

    标签: ruby apache ruby-on-rails-4 utf-8 ruby-2.1


    【解决方案1】:

    在 /config/application.yml 中使用非 ASCII 字符会导致此错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 2012-06-03
      相关资源
      最近更新 更多