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

时间:2012-09-11 05:19:06

标签: 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 (UTF-8)

之后我使用Notepad ++并更改为Encode as UTF-8并使用此选项进行编译:

jruby --1.9 f3.rb

然后我得到:

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

1 个答案:

答案 0 :(得分:0)

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

如果您直接在utf-8中重新创建该文件,或者摆脱这些虚假角色,这应该可以解决您的问题。