Программа Виселица запускается с ошибкой: что-то с методом 'encode' и кодировками Windows-1251 и UTF-8

[С] Саша Самойлов, 21 июля 2016, 19:51 , 6 подписчиков

Обсуждение (1)


Михаил Бутлицкий Учитель

[М]

Скорее всего у вас нелокализованная для русского языка версия Windows. Код для исправления кодировок, который мы используем на видео оказался для вас недостаточным.

Ничего страшного. Скопируйте из исходников урока про Виселицу расширенную версию кода преобразования кодировок — он должен работать на всех известных нам разновидностях Windows.

Код выглядит примерно так:

  if (Gem.win_platform? && ARGV[0])
    slovo = slovo.dup.force_encoding("IBM866").encode("IBM866", "cp1251").encode("UTF-8")
  end

Где slovo — строка, кодировку которой надо преобразовать.