我发现 RoR 在创建新应用程序时生成的所有文件似乎都使用西方(ISO-8859-1)编码保存(我在 Windows 机器上进行本地开发)。因此,我在使用某些特殊字符时遇到问题,例如 £。
- RoR 是否应该生成框架文件并使用西方(ISO-8859-1)编码保存它们?
- 如果没有,我怎样才能让 RoR 生成文件并使用 UTF-8 编码保存它们,从而避免某些字符出现问题,例如 £?
请参阅Ruby on Rails - £ 符号问题,了解我之前提出的与此问题相关的未解决问题。
我发现 RoR 在创建新应用程序时生成的所有文件似乎都使用西方(ISO-8859-1)编码保存(我在 Windows 机器上进行本地开发)。因此,我在使用某些特殊字符时遇到问题,例如 £。
请参阅Ruby on Rails - £ 符号问题,了解我之前提出的与此问题相关的未解决问题。
Rails 在生成的文件中只使用 ASCII 字符。
ASCII 文件既不是 UTF-8 也不是 ISO-8859-1。ASCII 与这两种编码都兼容,但 ASCII 文件在添加特殊字符之前不会变成 ISO-8859-1 或 UTF-8 文件。
添加 £ 字符后保存文件时,应确保将编辑器或 IDE 设置为使用 UTF-8 而不是 ISO-8859-1。您应该在编辑器中查找配置选项。Rails 对此无能为力。
如果您运行 Ruby 1.9,还记得在包含特殊字符(模板除外)的文件顶部设置魔术注释。在 Ruby 1.8 及之前的版本中,此注释无效。
# encoding: utf-8
完全相同的问题会导致您在其他问题中描述的症状。
有关背景知识,请参阅这篇(旧但出色的)关于字符编码和 Unicode 的文章。