Какая версия Ruby?Он пахнет как 1.8.7, что не является здравым смыслом Unicode.Если вы можете, обновитесь до 1.9.2.
Также важно указать кодовый набор языка при анализе содержимого.Часто эта информация содержится в выражении DOCTYPE, но если это не так, вам нужно дать подсказку языку о том, чего ожидать.
Поскольку эти символы встроены в PHP, они могут быть UTF-8или, может быть, вариант WIN-1252 или ISO-8951, который подразумевает, что они будут однобайтовыми символами.Механизм использует Nokogiri для анализа, и он захочет узнать, какой язык дает вам наилучшее декодирование значений.Nokogiri будет помещать ошибки в атрибут errors
, когда он не может разобрать что-либо по своему вкусу, поэтому вы можете проверить это там.Посмотрим, что представляет собой DOCTYPE при отправке контента, а также проверим заголовки HTTP и посмотрим, определит ли что-то кодовый набор.
С этой проблемой я сталкивался много раз в Интернете, потому что HTML так плохо написан и так часто не соответствует спецификациям.