我遇到了这样的一串字符串:a = "\xE4\xBD\xA0" puts a #=> "你" puts a.length #=> 3 p a #=> "\xE4\xBD\xA0" p a.length #=> 3 然后让 a 和 字符'你'进行比较 a.eql? ‘你' #=> false
请问怎样才能正确的比较 a 和字符 '你'
补充:a.encoding #=> Encoding:ASCII-8BIT
在文件的第一行加上# encoding: utf-8
# encoding: utf-8
#1 楼 @ywjno 并不是这个问题,我一开始就加了这句代码
#2 楼 @R_Rboys 在我本地下就是好用来着,windows xp+1.9.3-p125
#3 楼 @ywjno 你应该是在 irb 上试的吧?在 irb 上试是试不出来的!
#3 楼 @ywjno 我已经找到解决方案了,不过还是要谢谢你
#5 楼 @R_Rboys 我还真不是在 irb 下试的,我是保存到一个文件里面然后在 cmd 下执行
我的问题已经解决了!嘿嘿~没想到找了一下午,竟然在发贴后不久找到了。。。 解决方案: "\xE4\xBD\xA0".force_coding("UTF-8") 如果有遇到类似问题的,可以看下以前的一个贴(刚找到的):http://ruby-china.org/topics/1223, 我就是看了 hooopo 贴出来的链接(12#)找到答案的!