nokogiri иногда бывает странно. Я не мог объяснить, что nokogiri «предполагается» здесь сделать - обе версии являются «правильными», представляя одно и то же в документе HTML. Это точно такая же версия нокогири? Если это так, это может быть другая версия libxml, которую nokogiri использует под капотом, а в некоторых случаях будет использовать существующую установку системы. Или разница в рубине 2.1 против 2,3 может иметь значение, хотя это кажется маловероятным.
В принципе, если вы хотите точно такого же поведения, вам нужно использовать точно такую же версию всего - ruby, nokogiri, libxml.
Первый - это только простые байты в Юникоде, второй - символы не-ascii, замененные объектами символов html. Оба должны быть одинаковыми в браузере. Если вы хотите одно из этих поведений, а не другое (лично я думаю, что я предпочел бы использовать Юникод), это вопрос другого типа, но есть , вероятно, способ заставить nokogiri сделать это. Но я этого не знаю.
Если вы используете Nokogiri :: XML вместо Nokogiri :: HTML, я бы сделал ставку, это не заменит non-ascii объектами символов html, но вы также, если я правильно напомню, прощая не вполне легальное синтаксическое поведение, используемое парсером HTML.
Подождите, теперь, подойдя ближе, я думаю, что, возможно, вторая не представляет то же самое, это html-символьные сущности, но я не уверен, что они действительно правильные. Может ли кодировка перепутаться? В зависимости от того, как вы читаете данные и ОС, и какова переменная env LANG, если она является машиной unix, она может испортить кодировку.
Кроме того, вы уверены, что файл Ina.html
, который вы открываете, действительно идентичен на обеих системах? Может ли он стать поврежденным или преобразованным по-разному в процессе загрузки? Скопируйте файл с одного компьютера на другой, чтобы убедиться, что два файла действительно идентичны.
Для справки, вот URL в HTML я работаю с [link] (https://gn.wiktionary.org/wiki/Ina) – Joel
Возможно, это языковая проблема, одна система может поддерживать другую, это не так. –
Хм. это может быть, но когда я печатаю фактические строки напрямую, например, ставит «», проблем нет. Я думаю, что это также может быть связано с тем, как Nokogiiri декодирует html-файл. –
Joel