9

我有一个 Rails 应用程序,我在其中使用基于正则表达式的规则对事务进行分类。在我的seeds.rb中,我创建了一些类别和规则,然后从 CSV 文件(也是 utf8 编码)导入交易并允许对它们进行分类。这个过程在我的开发机器上运行良好,但是当我在 Heroku 上运行它时,我得到:

不兼容的编码正则表达式匹配(ASCII-8BIT 正则表达式与 UTF-8 字符串)

我正在运行 Cedar Stack,Rails 2.3.15。我放了

# encoding: utf-8

在我所有源文件的顶部,我在我的应用程序配置中将编码设置为 utf-8,所以我不确定还有什么可能导致这个问题。我想知道是否与 Heroku 配置有关。

4

1 回答 1

1

该问题可能是由本地操作系统忽略的不可见字符引起的,以确保进行正确的编码,而在 Heroku 上,字符弄乱了文件顶部的幻数声明,最终得到 ASCII-8BIT 和UTF-8。

由于有问题的文件包含正则表达式,因此它可能是您的模型类而不是 seed.rb。

有很多方法可以查看文件中的不可见字符。中vi,只需设置选项:set list

于 2013-08-23T05:34:16.830 回答