【问题标题】:Encoding::Undefined: ConversionError at / "\xC3" from ASCII-8BIT to UTF-8Encoding::Undefined: ConversionError at / "\xC3" from ASCII-8BIT to UTF-8
【发布时间】:2020-07-19 00:02:36
【问题描述】:

我一直在尝试从 Sprockets 3 更新到 Sprockets 4,但出现以下错误:Encoding::UndefinedConversionError at / "\xC3" from ASCII-8BIT to UTF-8

错误发生在以下行:<%= javascript_include_tag "c/components/App", "data-turbolinks-track" => 'reload' %>,我不明白为什么。

【问题讨论】:

  • 你运行的是什么版本的rails?您可以发布错误的完整堆栈跟踪吗?
  • 能把JS的内容贴出来吗?编码错误通常是文件中的某些文本未使用 UTF-8 编码。

标签: ruby-on-rails ruby utf-8 ascii sprockets


【解决方案1】:

在我的例子中,它是构建源地图时使用的字符集。

如果你创建一个初始化文件来再次注册 mime 类型,并将字符集设置为:unicode,它将解决问题:

config/initializers/sprockets-register.rb

Sprockets.register_mime_type 'application/js-sourcemap+json', extensions: ['.js.map'], charset: :unicode

【讨论】:

    【解决方案2】:

    我在使用 Rails 4 时遇到了完全相同的问题。这是关于我的重音(巴西葡萄牙语)字符,但我不确定我是如何解决它的。但是用等价的字符(ã -> a,例如)替换重音字符是一种(不好的)解决方法。

    【讨论】:

      猜你喜欢
      • 2015-08-10
      • 2017-04-20
      • 2021-05-19
      • 2014-06-12
      • 1970-01-01
      • 2015-09-18
      • 2014-10-15
      • 1970-01-01
      • 2012-09-14
      相关资源
      最近更新 更多