Reputation: 15097
I want to tell ruby that everything is utf8, except when stated otherwise, so I dont have to place these # encoding: utf-8
comments everywhere.
Upvotes: 12
Views: 10151
Reputation:
I just upgraded from 1.9 to 2.0, but for some reason the default external encoding was still set to ASCII. I was able to fix it by typing the following in Terminal:
export RUBYOPT='-E utf-8'
Upvotes: 0
Reputation: 1518
If you're using environment variables, the general way is to use LC_ALL / LANG
Neither is set : fallback to US-ASCII
$ LC_ALL= LANG= ruby -e 'p Encoding.default_external'
#<Encoding:US-ASCII>
Either is set : that value is used
$ 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>
Both are set : LC_ALL takes precedence
$ 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>
Upvotes: 14
Reputation: 18765
You can either:
Upvotes: 16