2013-02-14 3 views
0

Я использую https://github.com/ging/linkser для загрузки URL:неверная последовательность байт UTF-8

1.9.3p374 :001 > require 'linkser' 
=> true 
1.9.3p374 :002 > l = Linkser.parse 'http://sports.163.com/nba/' 
=> #<Linkser::Objects::HTML:0x007f92019e99c8 @url="http://sports.163.com/nba/", @last_url="http://sports.163.com/nba/", @head=#<Net::HTTPOK 200 OK readbody=true>, @options={}> 
1.9.3p374 :003 > l.title 
encoding error : input conversion failed due to input error, bytes 0xC4 0x4E 0x42 0x41 
=> "NBA,NBAֱҥ,\xD7钭ㄒ档" 

Можно ли преобразовать последовательность байт, чтобы исправить utf8 строку?

+0

это может помочь. http://stackoverflow.com/questions/12147449/delete-non-utf-characters-from-a-string-in-ruby/12149403#12149403 –

ответ

0

Фактическое кодирование страницы - это GBK, aka gb2312. Быстрый взгляд на linkser source показывает отсутствие обработки кодировок, поэтому он остается в Net :: HTTP, который имеет long standing bug about that, предназначенный для Ruby 2.0.0.

Смежные вопросы