私はウェブページのコンテンツを読むためのコードを書こうとしていますが、そのページで使用されているエンコーディングがわからないので、奇妙なシンボルがない正しい文字列を返すジェネリックコードを書くにはどうすればいいですか? ? エンコーディングは( "UTF-8"、 "windows-1256"、...)です。 私はUTF-8にしようとしましたが、ページが2番目のエンコーディングでエンコードされているときに、私はいくつかの奇妙なシンボルを持っています。HTMLコードをdifferntエンコードで読み込むための汎用コードを書くには?
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("SOME-URL");
request.Method = "GET";
WebResponse response = request.GetResponse();
StreamReader streamReader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8);
string content = streamReader.ReadToEnd();
そしてここでは、問題の原因のリンクです: http://forum.khleeg.com/144828.html
しかし、そのタグは常にWebページに存在しますか?私は "windows-1256"を例として言及しました。これは他のエンコーディング、これを回避するための提案です。 – Mousa
@Mousaこのタグは、非標準のエンコーディングを使用しているページに常にあります。しかし、私はこれに対する答えを更新しました。 – VMAtm
'HttpWebResponse.ContentEncoding'の代わりに' HttpWebResponse.CharacterSet'を使うことができます。 –