3

当我在控制器中使用 UTF-8 字符(大部分时间是土耳其字符)时,我必须#encoding: utf-8在每个控制器文件的顶部添加。为什么 Rails 不使用它作为默认值?

编辑:我了解到这不是关于 Rails,而是关于 Ruby。

4

2 回答 2

6

Ruby 2.0 默认为 UTF8。否则,您必须在 1.9 中表示这一点。根据成濑:

默认脚本编码更改。

默认脚本编码(未指定魔术注释时)更改为 UTF8 [#6679]在 Ruby 1.9 中,默认脚本编码为 US-ASCII。在考虑了以下优点和缺点后,我们将其更改为 UTF-8。UTF-8 默认值很方便,因为大多数现代应用程序都使用 UTF-8 如果有魔术注释,此更改不会影响任何 1.9 代码。没有 Magic Comment 的 1.9 中的默认脚本编码是 US-ASCII 或 ASCII-8BIT。在 UTF-8 中,一些字符串操作可能会变慢。

资料来源:Rubyist 杂志

于 2013-05-15T09:48:40.623 回答
1

Rails 不是一种编程语言。它只是用 Ruby 编写的库。它不能改变 Ruby 的基本语法。Ruby 1.8 对编码一无所知,在 Ruby 1.9 中默认为 ASCII,在 Ruby 2.0 中默认为 UTF-8。Rails 对此无能为力。

于 2013-05-15T11:08:18.083 回答