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

 mobiledu2502861377 发布于 2023-02-11 14:58

我在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)

Holger Just.. 19

要更改源编码(即您实际编写的源代码所在的编码),您必须使用当前的魔术注释:

# encoding: utf-8

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

在ChiliProject中,我们有一个rake任务,它在发布之前自动在所有文件中设置正确的编码头.

至于编码默认值:

Ruby 1.8及以下版本根本不知道字符串编码的概念.字符串或多或少是字节数组.

Ruby 1.9:默认字符串编码US_ASCII无处不在.

Ruby 2.0及以上版本:默认字符串编码为UTF-8.

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

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有