ruby的正确utf-8编码注释行是什么?

时间:2012-11-07 15:42:53

标签: ruby unicode encoding utf-8

  

可能重复:
  Ruby - UTF-8 file encoding

我一直在使用UTF-8,并希望帮助ruby解释器读取我的文件。 因此,我将# encoding=utf-8放在我的ruby代码的开头,如下所示:

#!/usr/bin/env ruby
# encoding=utf-8

但是偶尔会看到其他变种: bundle gem NAME # -*- encoding: utf-8 -*-(插入NAME.gemspec)。宝石magic_encoding也使用此行。

推荐的方式是什么?

  • # encoding = utf-8
  • # encoding: utf-8
  • # -*- encoding: utf-8 -*-

3 个答案:

答案 0 :(得分:6)

简短回答:

# encoding: utf-8

这是一个完整的答案: Ruby - UTF-8 file encoding

答案 1 :(得分:3)

对于可接受的内容,它看起来相当宽松。我一直用:

# encoding: UTF-8

同样可以接受的是coding。我找不到允许的变体的参考,但只要您的文件被正确解释它应该没问题。检查__ENCODING__值以确定它已被拾取。

答案 2 :(得分:3)

Python的行为方式相同,this Python question的答案表明没有真正的推荐,只需选择适用于您的编辑器的内容:对于Emacs,请使用# -*- encoding: utf-8 -*-;对于VIM使用# vim:fileencoding=<encoding-name>