为什么Rails的默认编码不是UTF-8 ?



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

我知道这不是关于Rails的,而是关于Ruby的。

Ruby 2.0默认是UTF8。否则,必须在1.9中表示。根据naruse:

默认的脚本编码改变。

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

来源:Rubyist Magazine

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

最新更新