Heroku和Rails:如何将utf-8设置为默认编码

Aug*_*sto 4 ruby-on-rails heroku

今天,我创建了一个工作应用程序的副本,它在Heroku上完美运行,并尝试将其部署在Heroku上作为新项目的起点.

我将新文件夹添加为git存储库,在GitHub上创建了一个新的远程存储库,编辑了配置文件并为数据库提供了新名称,创建了新数据库并尝试在Heroku上部署.

现在应用程序在启动时崩溃,因为Heroku在我的源文件中发现了一些utf-8文本并且无法识别它们:

2011-06-27T14:23:10+00:00 app[web.1]: /app/app/controllers/home_controller.rb:118: invalid multibyte char (US-ASCII)
2011-06-27T14:23:10+00:00 app[web.1]: /app/app/controllers/home_controller.rb:118: syntax error, unexpected $end, expecting '}'
2011-06-27T14:23:10+00:00 app[web.1]: ...tue azioni, conquista la città!"}
Run Code Online (Sandbox Code Playgroud)

如何告诉Rails和Heroku我的所有源文件都是utf-8编码的?我应该在每个文件中添加UTF-8 BOM吗?这很疯狂,我在之前的应用程序中没有这样做,效果很好.

我正在使用Rails 2.3.6.

fel*_*lix 10

在你的config/application.rb中,

  config.encoding = "utf-8"
Run Code Online (Sandbox Code Playgroud)

在database.yml中,

 development:
     adapter:  mysql2(whatever your db)
     host:     localhost
     encoding: utf8
Run Code Online (Sandbox Code Playgroud)

你还必须添加(包括哈希)

# encoding: UTF-8
Run Code Online (Sandbox Code Playgroud)

来源:http://craiccomputing.blogspot.com/2011/02/rails-utf-8-and-heroku.html