Если веб-страница действительно латинская-1 (ISO-8859-1), в ней не должно быть фигурных кавычек; В Latin-1 нет сопоставлений для этих символов. Если при открытии страницы в браузере вы видите фигурные кавычки, они могут быть в форме HTML-сущностей (“
и ”
или “
и ”
). Но я подозреваю, что кодировка страницы действительно windows-1252, несмотря на то, что говорят заголовки и встроенные объявления.
windows-1252 идентичен Latin-1 за исключением того, что он заменяет управляющие символы в диапазоне \x80..\x9F
(десятичный 128..159
) более полезными (или, по крайней мере, красивее) печатными символами. Если HtmlAgilityPack берет страницу на слове и декодирует ее как ISO-8859-1, она преобразует \x93
в управляющий символ \u0093
, который будет выглядеть как мусор, если вы вообще сможете отобразить его. Тем временем браузер преобразует его в \u201C
, кодовую точку Unicode для левой двойной кавычки.
Я не знаком с HtmlAgilityPack и не могу найти для него никаких документов, но я бы попытался заставить его использовать windows-1252. Например, вы можете создать StreamReader для windows-1252 (или «ANSI») и использовать его для HAP.