2

我发现 RoR 在创建新应用程序时生成的所有文件似乎都使用西方(ISO-8859-1)编码保存(我在 Windows 机器上进行本地开发)。因此,我在使用某些特殊字符时遇到问题,例如 £。

  • RoR 是否应该生成框架文件并使用西方(ISO-8859-1)编码保存它们?
  • 如果没有,我怎样才能让 RoR 生成文件并使用 UTF-8 编码保存它们,从而避免某些字符出现问题,例如 £?

请参阅Ruby on Rails - £ 符号问题,了解我之前提出的与此问题相关的未解决问题。

4

1 回答 1

1

Rails 在生成的文件中只使用 ASCII 字符。

ASCII 文件既不是 UTF-8 也不是 ISO-8859-1ASCII 与这两种编码都兼容,但 ASCII 文件在添加特殊字符之前不会变成 ISO-8859-1 或 UTF-8 文件。

添加 £ 字符后保存文件时,应确保将编辑器或 IDE 设置为使用 UTF-8 而不是 ISO-8859-1。您应该在编辑器中查找配置选项。Rails 对此无能为力。

如果您运行 Ruby 1.9,还记得在包含特殊字符(模板除外)的文件顶部设置魔术注释。在 Ruby 1.8 及之前的版本中,此注释无效。

# encoding: utf-8

完全相同的问题会导致您在其他问题中描述的症状。

有关背景知识,请参阅这篇(旧但出色的)关于字符编码和 Unicode 的文章

于 2010-11-11T12:36:46.087 回答