質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

4900閲覧

C#でhtmlファイルをダウンロードすると文字化けしている

FUGAMARU-MCPE

総合スコア33

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/09/29 13:30

編集2016/09/29 15:21

C#でこのURLのhtmlファイルをダウンロードさせるとhtmlファイルが文字化けしています。
ダウンロードするのが問題なのかと思い、試しにダウンロードさせないでhtmlのソースを取得させてみましたが文字化けしていました。
解決法があれば教えていただきたいです。
宜しくお願い致します。

下のページに載っているコードを使いました。

実際に使用してみたコード

htmlファイルをダウンロードするやり方

C#

1 private void Form1_Load(object sender, EventArgs e) 2 { 3 string outputHtml = @"C:\download.html"; 4 StreamWriter writer = new StreamWriter(outputHtml); 5 6 WebClient client = new WebClient(); 7 string str = client.DownloadString("https://pvp.minecraft.jp/servers"); 8 writer.Write(str); 9 }

htmlのソースを直接表示させるやり方

C#

1private void Form1_Load(object sender, EventArgs e) 2 { 3 WebClient wc = new WebClient(); 4 try 5 { 6 string text = wc.DownloadString("https://pvp.minecraft.jp/servers"); 7 textBox1.Text += text; 8 } 9 catch (WebException exc) 10 { 11 textBox1.Text += exc.Message; 12 } 13 14 this.MaximizeBox = !this.MaximizeBox; 15 timer1.Start(); 16 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matsu

2016/09/29 14:43

実際のコードが無いと問題点が分からないと思いますよ
guest

回答3

0

コードを見る限り、2つ目のリンクを最後まで確認していないようです。
2つ目のリンクを最後まで読んでみましょう。
原因と対処方法が書かれています。
ざっくり言うと原因は文字コードを指定していないからです。

投稿2016/09/29 15:49

matsu

総合スコア702

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

下記を追加してみてください。

WebClient client = new WebClient();
client.Encoding = Encoding.UTF8; //追加

投稿2016/09/29 15:42

Qoo

総合スコア1249

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

下記を追加してみてください。

WebClient client = new WebClient();
client.Encoding = Encoding.UTF8; //追加

投稿2016/09/29 15:42

Qoo

総合スコア1249

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問