Стандартные внутренние и внешние кодировки предназначены для операций ввода-вывода:
- CSV
- Данные файла считываются с диска
- Имена файлов из Dir
- и т.д ...
Самое простое, что вам нужно сделать, это добавить комментарий # encoding=utf-8
, чтобы сообщить Ruby, что исходный файл имеет кодировку UTF-8. Например, если вы запустите это:
# encoding=utf-8
H = { 'this' => 'that' }
puts H.keys.first.encoding
в качестве автономного сценария Ruby вы получите UTF-8, но если вы запустите это:
H = { 'this' => 'that' }
puts H.keys.first.encoding
вы, вероятно, получите US-ASCII.