У меня есть файл ruby только с двумя строками:
# encoding: utf-8
puts "—"
Когда я запускаю его с ruby test_enc.rb
, происходит сбой с:
test_enc.rb:2: invalid multibyte char (UTF-8)
test_enc.rb:2: unterminated string meets end of file
Я не знаю, как правильно указать код символа —
(emdash), но vim говорит мне, что это 151, Hex 97, Octal 227
. Он не работает так же, как и другие символы, такие как ã
, поэтому я сомневаюсь, что это связано именно с этим персонажем.
Я работаю в Windows XP и использую версию ruby:
ruby 1.9.1p430 (2010-08-16 revision 28998) [i386-mingw32]
Я чувствую, что здесь есть что-то очень очевидное, чего мне не хватает. Есть идеи?
РЕДАКТИРОВАТЬ: Извлек ценный урок о допущениях сегодня - особенно если предположить, что ваш редактор использует UTF-8, фактически не проверяя его. Oops!
Спасибо за быстрый и точный ответ всем!
ВНОВЬ РЕДАКТИРОВАТЬ: «Правильная настройка vim для utf-8» стала слишком большой и на самом деле не имела отношения к этому вопросу, поэтому теперь это отдельный вопрос .