1
halfelf 2014-10-08 12:17:26 +08:00
那个URI是从哪儿来的,\xEA\xE6应该不是完整的unicode字符表示。我现在手头没有1.9,2.1里肯定是自动转的。1.9应该差别不大
|
2
halfss OP 因为 "http://www.baidu.com/xEA\xE6" 包含了非法的 utf-8 字符
str = "http://www.baidu.com/xEA\xE6" str.valid_encoding? # => false 解决办法,先把 str 中得非法 utf-8 字符替换掉,比如替换成 ? for i in (0...str.size) unless str[i].valid_encoding? str[i] = "?" end end str.valid_encoding? # => true enjoy! |
3
halfss OP 暂时就这样解决了,有更好的方法欢迎留言
|