无效的多字节字符(UTF-8)



我正在尝试使用选项--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++并更改为Encode as UTF-8,并使用以下选项进行编译:

jruby --1.9 f3.rb

然后我得到:

SyntaxError: f3.rb:1: 273Invalid char `273' ('╗') in expression

我见过这种情况,当BOM在字符集转换过程中出错时(八进制中的BOM是357 273 277)。如果使用十六进制编辑器(vi上的:%!xxd)打开文件,则很可能会在文件开头第一个#之前看到字符。

如果您直接在utf-8中重新创建该文件,或者去掉这些伪字符,这应该可以解决您的问题。

最新更新