WebClient
クラスのDownloadString
を使用してページのコンテンツを読み込み、StreamWriter
クラスを使用して静的なHTMLファイルに内容を書き込んでいます。私が読んでいるページには、アンカー要素のOnClick
属性を設定するインラインJavaScriptスクリプトがあります。window.location = history.go(-1);
静的なHTMLページを見ると、奇妙な文字が表示されます動的なウェブページ上に存在する。静的ページのHTMLスニペットDownloadStringを発行してページの問題に書き込む
<span>Sorry, but something went wrong on our end. Click <a href="#" onclick="window.location.href = history.go(-1);">here</a> to go back to the previous page.</span>
問題の
のWebClient & SteamWriterコード
using (var client = new WebClient())
{
var html = client.DownloadString(url);
//This constructor prepares a StreamWriter (UTF-8) to write to the specified file or will create it if it doesn't already exist
using (var stream = new StreamWriter(file, false, Encoding.UTF8))
{
stream.Write(html);
stream.Close();
}
}
動的ページのHTMLスニペット
<span>Sorry, but something went wrong on our end. Â Click <a href="#" onclick="window.location.href = history.go(-1);">here</a> to go back to the previous page.</span>
Encoding.UTF8
パラメータを追加するとこの問題は解決すると考えていましたが、役に立たないようです。私がしなければならない何らかの余分なエンコードやデコードがありますか?あるいは、私はこのタイプの操作に必要なことを完全に逃しましたか?
おそらくこれはあなたがhttp://stackoverflow.com/questions/1461907/html-encoding-issues-%C3%82-character-showing-up-instead-of-nbspを見ているものです –