我尝试运行一个rails应用程序(爱遗),使用apache2和客运。erb文件包含UTF-8编码字符.我明白了
Encoding::CompatibilityError (incompatible character encodings: ASCII-8BIT and UTF-8):错误,对应于包含utf-8编码字符的erb中的行。有趣的是,另一台从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的乘客。版本:Ruby2.1.0p0 (2013-12-25修订版44422) x86_64-linux Rails 4.0.2乘客4.0.56
任何帮助都是非常感谢的。
发布于 2015-01-04 15:55:40
使用/config/application.yml中的非ASCII字符可以避免此错误。
https://stackoverflow.com/questions/27669682
复制相似问题