加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

将UTF-8设置为Ruby 1.9.3的默认值

发布时间:2020-12-16 22:39:24 所属栏目:百科 来源:网络整理
导读:我在Rails 4和 Ruby 1.9.3 我经常使用“奇怪”的字符,所以我必须在所有.rb文件的顶部声明UTF-8编码. 有没有办法将UTF-8设置为Ruby 1.9.3的默认编码? 我尝试了所有答案,但是当运行rake db:seed并创建一个对象,其属性包含非US-ASCII有效字符时,我仍然收到此
我在Rails 4和 Ruby 1.9.3

我经常使用“奇怪”的字符,所以我必须在所有.rb文件的顶部声明UTF-8编码.

有没有办法将UTF-8设置为Ruby 1.9.3的默认编码?

我尝试了所有答案,但是当运行rake db:seed并创建一个对象,其属性包含非US-ASCII有效字符时,我仍然收到此错误:

`block in trace_on': invalid byte sequence in US-ASCII (ArgumentError)

解决方法

要更改源编码(即编码您实际编写的源代码),您必须使用当前的魔术注释:
# encoding: utf-8

设置内部编码(转换后的内部字符串表示的编码)或外部编码(读取文件的假定编码)还不够.您实际上必须在文件顶部设置魔术编码注释来设置源代码编码.

在ChiliProject,我们有一个rake task,它在发布前自动设置所有文件中的正确编码标题.

至于编码默认值:

Ruby 1.8及以下版本根本不知道字符串编码的概念.字符串或多或少是字节数组.
> Ruby 1.9:默认字符串编码是US_ASCII无处不在.
> Ruby 2.0及以上版本:默认字符串编码为UTF-8.

因此,如果使用Ruby 2.0,则可以跳过编码注释,并且默认情况下正确地假定UTF-8编码为无处不在.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读