아래 메서드로 페이지를로드 할 때 사용자 지정 인코딩을 설정할 수 있습니까?
HtmlWeb hwWeb = new HtmlWeb();
HtmlDocument hd = hwWeb.load("myurl");
인코딩을 "iso-8859-9"로 설정하고 싶습니다.
나는 C # 4.0과 WPF를 사용한다.
편집 : MSDN에서 질문에 대한 답변을 얻었습니다.
HtmlWeb
객체의 인코딩을 무시할 수 있다고 가정합니다.
이 시도:
var web = new HtmlWeb
{
AutoDetectEncoding = false,
OverrideEncoding = myEncoding,
};
var doc = web.Load(myUrl);
참고 : OverrideEncoding
속성은 버전 76610의 HTML 민첩성 팩에 추가되었으므로 현재 릴리스 v1.4 (66017)에서는 사용할 수 없습니다. 그 다음으로 할 일은 오버라이드 된 인코딩을 사용하여 페이지를 수동으로 읽는 것입니다.
var document = new HtmlDocument();
using (var client = new WebClient())
{
using (var stream = client.OpenRead(url))
{
var reader = new StreamReader(stream, Encoding.GetEncoding("iso-8859-9"));
var html = reader.ReadToEnd();
document.LoadHtml(html);
}
}
이 솔루션의 간단한 버전의 응답되는 여기 (일부 이유가 삭제되었다)