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

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

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


Michael Butlitsky Учитель

[M]

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

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

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

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

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