编码从活动记录到视图的差异

时间:2015-07-23 13:57:31

标签: ruby-on-rails ruby-on-rails-4 encoding character-encoding

来自服务器的特殊字符未正确呈现,但html中静态文本中的特殊字符呈现正常。

我的开发基地有一个记录。它的标题是'Légende'。

[1] pry(main)> Record.last.title
  Record Load (0.3ms)  SELECT  "records".* FROM "records"  ORDER BY "records"."id" DESC LIMIT 1
=> "Légende"
[2] pry(main)> Record.last.title.encoding
  Record Load (0.2ms)  SELECT  "records".* FROM "records"  ORDER BY "records"."id" DESC LIMIT 1
=> #<Encoding:UTF-8>

当我想在我的视图中#show它时,会打印Le‘gende。这不是通常的编码问题,因为它不会打印&eacute;é

另外,如果我从网页复制并粘贴Le‘gende,则会再次成为Légende。这很奇怪。

记录#节目

  def show
    @record = Record.find(params[:id])
  end

show.html.erb

<h1>Bibliothèque</h1>
<h2><%= @record.title %></h2>

配置/ application.rb中

config.i18n.default_locale = :fr
config.encoding = "utf-8"

布局/ application.html.erb

  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <meta charset="utf-8">

application_controller.rb

class ApplicationController < ActionController::Base
  # encoding: utf-8

  protect_from_forgery with: :exception
end

我不知道从哪里开始。

1 个答案:

答案 0 :(得分:0)

这是一个字体问题。

供将来参考:罪魁祸首是开放的。