我想告诉ruby一切都是utf8,除非另有说明,所以我不必在任何地方放置这些# encoding: utf-8
条评论。
答案 0 :(得分:16)
你可以:
答案 1 :(得分:12)
如果您正在使用环境变量,一般方法是使用LC_ALL / LANG
两者均未设置:回退到US-ASCII
$ LC_ALL= LANG= ruby -e 'p Encoding.default_external'
#<Encoding:US-ASCII>
设置:使用该值
$ LC_ALL=en_US.UTF-8 LANG= ruby -e 'p Encoding.default_external'
#<Encoding:UTF-8>
$ LC_ALL= LANG=en_US.UTF-8 ruby -e 'p Encoding.default_external'
#<Encoding:UTF-8>
两者都设置:LC_ALL优先
$ LC_ALL=C LANG=en_US.UTF-8 ruby -e 'p Encoding.default_external'
#<Encoding:US-ASCII>
$ LC_ALL=en_US.UTF-8 LANG=C ruby -e 'p Encoding.default_external'
#<Encoding:UTF-8>
答案 2 :(得分:0)
我刚刚从1.9升级到2.0,但由于某种原因,默认外部编码仍设置为ASCII。我可以通过在终端中键入以下内容来修复它:
export RUBYOPT='-E utf-8'