yakczh 发表于 2011-02-12 19:24

Resolv 解析域名报错in `tr': invalid byte sequence in UTF-8 (ArgumentError)

require 'resolv'

list=[]

list.push("img1.cache.netease.com")
list.push("img2.cache.netease.com")

list.each { |e|
       
  puts e,Resolv.getaddress(e)
}
   运行报错
in `tr': invalid byte sequence in UTF-8 (ArgumentError)

2gua 发表于 2011-02-12 20:36

用utf-8格式保存你的脚本文件。

yakczh 发表于 2011-02-12 21:12

# encoding: utf-8

# encoding: gbk
都试过了
跟文件没关系
如果把域名换成
list.push("www.baidu.com")
list.push("www.google.com")

就正常 

代码你就可存成文件运行一下

2gua 发表于 2011-02-12 21:51

输出正常:
img1.cache.netease.com
110.81.238.33
img2.cache.netease.com
110.81.238.33

我是说,用utf-8格式保存你的脚本文件,不是说# encoding: utf-8。

yakczh 发表于 2011-02-12 22:21

看来只能截个图来demo一下,不然很难讲清楚这么简单的问题

yakczh 发表于 2011-02-12 22:43

对于ascii码的程序和文本来说,存储与读取的字节无论是保存为utf8,ascii,gbk都是一样的



我的问题是
都试过了
跟文件没关系
如果把域名换成
list.push("www.baidu.com")
list.push("www.google.com")

就正常 
如图所示



如果是文件编码的问题,不会出现同一个编码的程序,就因为加了两条简单的push语句就会改变文件编码而出错

2gua 发表于 2011-02-13 11:24

我试过了,是正常的,估计是网络路由问题吧。
页: [1]
查看完整版本: Resolv 解析域名报错in `tr': invalid byte sequence in UTF-8 (ArgumentError)