Establecer encoding global predeterminada para ruby ​​1.9

Quiero decirle a ruby ​​que todo es utf8, excepto cuando se indique lo contrario, así que no tengo que colocar estos comentarios de # encoding: utf-8 todas partes.

Tu también puedes:

  1. establece tu variable de entorno RUBYOPT a “-E utf-8”
  2. o use https://github.com/m-ryan/magic_encoding

Si usa variables de entorno, la forma general es usar LC_ALL / LANG

Ninguno de los dos está configurado: retroceso a US-ASCII

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

Cualquiera de los dos se establece: ese valor se usa

 $ 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' # 

Ambos están configurados: LC_ALL tiene prioridad

 $ 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' # 

Acabo de actualizar de 1.9 a 2.0, pero por alguna razón la encoding externa predeterminada todavía estaba configurada en ASCII. Pude arreglarlo escribiendo lo siguiente en la Terminal:

 export RUBYOPT='-E utf-8'