我只有這兩條線紅寶石文件:紅寶石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