首页 > 解决方案 > 编码 iso-8859-1 不适用于 rails 5

问题描述

基本上项目从 ruby​​ 1.8 升级到 ruby​​ 2.5。

在以前的 ruby​​ 和 rails 版本中可以正常工作的页面上声明了 ISO-8859-1 编码。

方法也写在应用程序控制器中。

  before_action :set_charset

  def set_charset
    response.headers["Content-Type"] = "text/html; charset=ISO-8859-1"
  end

应用程序布局声明如下。

  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">

但在javascript_tag的ruby​​ 2.5中,它给出了以下错误。

<%= javascript_include_tag "application" %>

Encoding::InvalidByteSequenceError
"\xA3" on UTF-8

在 rails 级别尝试了以下选项,但它不起作用。

应用程序.rb

   config.encoding = "ISO-8859-1"
   config.force_encoding = "UTF-8"

标签: ruby-on-railsrubyencodingruby-on-rails-5

解决方案


从应用程序中删除了所有旧的 js 文件。它开始运行。


推荐阅读