为什么我的rails应用程序不能用于编码ISO8859-1?

时间:2015-10-09 20:40:54

标签: ruby-on-rails ruby encoding

情景:

我在 rails(4.2.4)应用程序上有 ruby​​(2.2.3),处理 Firebird(2.5)数据库通过 activerecord-fb-adapter(1.0.2)。这是一个带有ISO-8859-1编码的遗留数据库,所以我设置了我的database.yml文件,编码为ISO-8859-1。 Rails默认编码是UTF-8,所以我设置了我的application.rb文件:

#config\application.rb    

config.encoding = "ISO-8859-1"

Database.yml文件:

#config\database.yml

default: &default
  adapter: fb
  encoding: ISO-8859-1
  create: false
  charset: ISO8859_1

development:
  <<: *default
  database: db/cadastro.fdb
  username: sysdba
  password: masterkey
  host: localhost

ERROR:

来自数据库的数据没问题,但是当我尝试将数据保存到数据库中或试图在浏览器中显示硬编码字符串时,我收到一个字符错误:

浏览器错误:

code:

<th class="text-center">Data de Serviço</th>

output:

Data de Serviço

数据库错误:

seeds:

MotoboyServiceType.where(:service_type => "REDAÇÃO").first_or_create

database:

REDAÇÃO

问题:

如何设置应用程序,以便在数据库中保存正确的数据并使用正确的特殊字符显示字符串?

0 个答案:

没有答案