为ruby 1.9设置全局默认编码

我想告诉ruby一切都是utf8,除非另有说明,所以我不必将这些# encoding: utf-8评论放在各处。

你可以:

  1. 将您的RUBYOPT环境变量设置为“-E utf-8”
  2. 或使用https://github.com/m-ryan/magic_encoding

如果您正在使用环境变量,一般方法是使用LC_ALL / LANG

两者都没有设置:回退到US-ASCII

 $ LC_ALL= LANG= ruby -e 'p Encoding.default_external' # 

要么设置:使用该值

 $ LC_ALL=en_US.UTF-8 LANG= ruby -e 'p Encoding.default_external' # $ LC_ALL= LANG=en_US.UTF-8 ruby -e 'p Encoding.default_external' # 

两者都设置:LC_ALL优先

 $ LC_ALL=C LANG=en_US.UTF-8 ruby -e 'p Encoding.default_external' # $ LC_ALL=en_US.UTF-8 LANG=C ruby -e 'p Encoding.default_external' # 

我刚刚从1.9升级到2.0,但由于某种原因,默认外部编码仍然设置为ASCII。 我可以通过在终端中键入以下内容来修复它:

 export RUBYOPT='-E utf-8'