Возникает проблема с кодировками, когда выводишь ключи из ассоциативного массива, который берет информацию из файла формата JSON, но при это русские символы работают при просто "puts".
if (Gem.win_platform?)
Encoding.default_external = Encoding.find(Encoding.locale_charmap)
Encoding.default_internal = __ENCODING__
[STDIN, STDOUT].each do |io|
io.set_encoding(Encoding.default_external, Encoding.default_internal)
end
end
require "json"
data = File.read('eng.json')
data_hash = JSON.parse(data)
data_hash.each_key {|key| puts key }
puts "Русский"
Если что, вот сам JSON файл:
{
"Яблоко":"Apple",
"Красный":"Red",
"Молоко":"Milk",
"Вода":"Water",
"Восход":"Rise"
}
Это я получаю с консоли:
╨п╨▒╨╗╨╛╨║╨╛
╨Ъ╤А╨░╤Б╨╜╤Л╨╣
╨Ь╨╛╨╗╨╛╨║╨╛
╨Т╨╛╨┤╨░
╨Т╨╛╤Б╤Е╨╛╨┤
Русский
Помогите исправить пожалуйста, заранее спасибо.