我只有这两条线红宝石文件:红宝石1.9 - 无效的多字节字符(UTF-8)
# 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 1.9.1p430 (2010-08-16 revision 28998) [i386-mingw32]
我觉得有一些很明显的,我在这里失踪。有任何想法吗?
编辑:了解了今天有关假设的宝贵经验 - 特别假设您的编辑器正在使用UTF-8而没有实际检查它。哎呀!
感谢您快速准确的回复!
再次编辑:'为utf-8正确设置vim'变得太大了,与这个问题无关,所以现在是separate question。
你确定它不是编码:utf-8? (而不是编码)。 – 2011-03-29 16:52:40
两者都做同样的事情。你实际上可以放入'asdfgibberishcoding:utf-8',它的工作原理是一样的。 – 2011-03-29 16:54:45
'puts _ENCODING_'是什么意思? (添加一个_ _ _ _ _ _ _ _ _ _ _ _ _ _ _的每个部分)。 – 2011-03-29 16:57:58