WebClient GodLikeClient = new WebClient();
HtmlAgilityPack.HtmlDocument GodLikeHTML = new HtmlAgilityPack.HtmlDocument();
GodLikeHTML.Load(GodLikeClient.OpenRead("www.alfa.lt");
したがって、このコードは、「Skaitytojo klausimas psichologui: kas lemia homoseksualumą? - Naujienų portalas Alfa.lt」ではなく、「Skaitytojo klausimas psichologui: kas lemia homoseksualumÄ…? - Naujienų Portalas Alfa.lt」を返します。
この Web ページは 1257 (バルト語) でエンコードされていますが、textBox1.Text = GodLikeHTML.DocumentNode.OuterHtml;
歪んだテキストが返されます。バルト語の発音区別符号が、奇妙な数文字の長い文字列に変換されます :(
はい、HtmlAgilityPack フォーラムを試してみました。本当にひどいです。
PS 私はプログラマーではありませんが、コミュニティ プロジェクトに携わっており、このコードを動作させる必要があります。ありがとうございます ;}
ベストアンサー1
実際、このページは UTF-8 でエンコードされています。
GodLikeHTML.Load(GodLikeClient.OpenRead("http://www.alfa.lt"), Encoding.UTF8);
働くでしょう。
または、私のコードを使うこともできますだから答えるHTTP ヘッダーまたはメタ タグからエンコードを検出し、適切に再エンコードします。(ダウンロードを最小限に抑えるために gzip もサポートしています)。
ダウンロード クラスを使用すると、コードは次のようになります。
HttpDownloader downloader = new HttpDownloader("http://www.alfa.lt",null,null);
GodLikeHTML.LoadHtml(downloader.GetPage());