为ruby 1.9设置全局默认编码
我想告诉ruby一切都是utf8,除非另有说明,所以我不必将这些# encoding: utf-8
评论放在各处。
你可以:
- 将您的RUBYOPT环境变量设置为“-E utf-8”
- 或使用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'