сломанный UTF-8 String ruby - PullRequest
       9

сломанный UTF-8 String ruby

0 голосов
/ 24 мая 2010

При чтении файла я получаю broken UTF-8 String error всякий раз, когда в моем файле есть следующее

través

, если я изменю его на обычный e, тогда он будет работать.

Какой способ это исправить?

ошибка происходит только тогда, когда я выполняю line.lstrp или любую другую функцию. Просто печать строк в порядке.

проблема даже возникает, когда я пытаюсь сопоставить строку с регулярным выражением.

1 Ответ

0 голосов
/ 24 мая 2010

Очевидно, ваш файл не в кодировке UTF-8. Итак, вы должны либо позаботиться об этом (сохранить файл с помощью UTF-8), либо сказать Ruby, что ваши строки не будут UTF-8. Для этого вы можете либо

  • используйте -E encoding ключ командной строки для этого
  • pass -E encoding с использованием RUBYOPT переменной окружения
  • указать кодировку в комментарии Ruby
  • do force_encoding метод для уже загруженной строки перед операцией, такой как lstrp

В следующем блоге много прочтений, связанных с кодировкой Ruby:

http://blog.grayproductions.net/articles/understanding_m17n

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...