Ruby 无效的多字节字符(UTF-8)
我正在尝试使用选项Ruby 无效的多字节字符(UTF-8),ruby,character-encoding,jruby,Ruby,Character Encoding,Jruby,我正在尝试使用选项--1.9编译此Ruby代码: \# encoding: utf-8 module Modd def cpd #"_¦+?" mySQL "ñ,B˜" end end 我使用GVim编辑器进行编译,然后得到以下错误: SyntaxError: f3.rb:6: invalid multibyte char (
--1.9
编译此Ruby代码:
\# encoding: utf-8
module Modd
def cpd
#"_¦+?" mySQL
"ñ,B˜"
end
end
我使用GVim编辑器进行编译,然后得到以下错误:
SyntaxError: f3.rb:6: invalid multibyte char (UTF-8)
之后,我使用Notepad++并更改为编码为UTF-8
,并使用此选项编译:
jruby --1.9 f3.rb
然后我得到:
SyntaxError: f3.rb:1: \273Invalid char `\273' ('╗') in expression
我见过这样的情况,当字符集转换过程中出现混乱时(八进制的BOM是
357273 277
)。如果使用十六进制编辑器(:%!xxd
onvi
)打开文件,您很可能会在文件开头看到字符,在第一个之前
如果您直接在utf-8中重新创建该文件,或者清除这些伪字符,这应该可以解决您的问题。那么,文件中存储的实际字节是多少?您使用的是什么版本的JRuby?1.6.7?谢谢你的回复。我创建了一个新的文件,带有选项编码utf-8,没有BOM。现在可以工作了。