【发布时间】:2016-02-12 20:50:48
【问题描述】:
我正在尝试在具有 NGINX 和 PUMA 的 Ubuntu 14.02 服务器上部署应用程序,当我尝试使用巴西葡萄牙语字符访问服务器上的静态页面且未访问数据库时,页面未显示,并且记录以下错误:
ActionView::Template::Error(不兼容的字符编码:ASCII-8BIT 和 UTF-8)
我阅读了很多关于此错误的帖子/答案并尝试了所有方法。
Ruby 版本:ruby 2.1.3p242(2014-09-19 修订版 47630)[x86_64-linux] Rails 版本:Rails 4.2.4
服务器中的命令语言环境返回以下内容:
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
我的 application.rb 包含以下行:
config.encoding = "utf-8"
我的 environment.rb 包含以下行:
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
我已经将 # encoding: "utf-8" 放在了我的 html.erb 文件之上,但没有成功。
【问题讨论】:
标签: ruby ruby-on-rails-4 nginx character-encoding puma