Ruby on rails RubyonRails中的UTF-8问题

Ruby on rails RubyonRails中的UTF-8问题,ruby-on-rails,encoding,utf-8,Ruby On Rails,Encoding,Utf 8,我正在尝试用多种语言显示文本片段。因为它们都是欧洲语言,所以我选择对数据库和数据源使用UTF-8编码。数据库为MySQL,采用UTF-8编码设置 当查看我的RoR项目的配置时,我可以找到各种设置,它们告诉我如何使用UTF-8编码完成所有工作。 我存储在数据库中的数据来自一个XML文件,该文件具有UTF-8编码属性,使用notepad++创建,并使用UTF-8编码保存 然而,当我从数据库中检索数据时,输出是文本,带有everal� 其中的实体。我对如何解决这个问题一无所知。。。。 以下是我的环境设

我正在尝试用多种语言显示文本片段。因为它们都是欧洲语言,所以我选择对数据库和数据源使用UTF-8编码。数据库为MySQL,采用UTF-8编码设置

当查看我的RoR项目的配置时,我可以找到各种设置,它们告诉我如何使用UTF-8编码完成所有工作。 我存储在数据库中的数据来自一个XML文件,该文件具有UTF-8编码属性,使用notepad++创建,并使用UTF-8编码保存

然而,当我从数据库中检索数据时,输出是文本,带有everal� 其中的实体。我对如何解决这个问题一无所知。。。。 以下是我的环境设置:

$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.5.2
  - RUBY VERSION: 1.8.7 (2011-02-18 patchlevel 334) [i386-mingw32]
  - INSTALLATION DIRECTORY: c:/Ruby/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: c:/Ruby/bin/ruby.exe
  - EXECUTABLE DIRECTORY: c:/Ruby/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-mingw32
  - GEM PATHS:
     - c:/Ruby/lib/ruby/gems/1.8
     - c:/Users/arne.de.herdt.TENFORCE2/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/
如果还需要其他信息,请询问,我将更新此主题。我只是想让数据正确显示

示例:Prüfer f�拉迪泽斯特�伦斯弗里·沃克斯托夫�冯(中西)机场:D�塞尔多夫

编辑: 添加database.yml文件输出

# MySQL.  Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
#   gem install mysql2
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: ESCO_development
  pool: 5
  username: hidden_username
  password: hidden_password
  host: localhost

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: ESCO_test
  pool: 5
  username: hidden_username
  password: hidden
  host: localhost

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: ESCO_production
  pool: 5
  username: hidden_username
  password: hidden
  host: localhost

您的所有数据库配置似乎都很好,您是否检查了浏览器是否未强制执行任何字符集编码?尝试在浏览器中手动更改字符集


此外,请检查html文件以查找任何其他非utf8的字符集编码。您是否指示db连接为UTF-8?是的,我有。我在database.yml文件中。查看原始帖子中的信息您确定您的数据库和表是使用正确的字符编码和排序规则创建的吗?(show create database和show create table将帮助您获取此信息。)如果您使用ruby程序将xml文件中的数据插入数据库,是否使用-Ku运行?我编写了一个解释xml的类,该类由rake db:seed触发,我将尝试添加您提到的标志浏览器设置为UTF8,检查了application.rb和environment.rb,没有在任何视图中设置标题以查找问题。浏览器设置确实强制使用了错误的编码。禁用它,一切正常