- - PR -
HttpWebResponse.CharacterSetについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-03-15 23:53
はじめまして、にいおと申します。
現在、指定されたURLのソースを読み込んで、テキストボックスに表示するプログラムを作成しています。 http://ja.gotdotnet.com/quickstart/util/srcview.aspx?path=/quickstart/howto/samples/Globalization/MultipleEncodings/MultipleEncodings.src などを参考にしてプログラムを書いているのですが、エンコードの部分で引っかかっています。 [ソース] ********************************************************************** private function read_html(p_url as string ) as string 'WebRequestの作成 Dim webreq As System.Net.HttpWebRequest _ = CType(Net.HttpWebRequest.Create(p_url), Net.HttpWebRequest) 'WebResponseの取得 Dim webres As System.Net.HttpWebResponse _ = CType(webreq.GetResponse(), Net.HttpWebResponse) 'encodeの取得 Dim encode As Text.Encoding If webres.CharacterSet = "" Then encode = Text.Encoding.GetEncoding("shift-jis") Else encode = Text.Encoding.GetEncoding(webres.CharacterSet) End If '受信して文字列を返す Dim st As System.IO.Stream = webres.GetResponseStream() Dim sr As New System.IO.StreamReader(st, encode) Return sr.ReadToEnd() '閉じる sr.Close() st.Close() end function ********************************************************************** 指定されたページの文字コードでエンコードするために、 「webres.CharacterSet」を見て判断しようとしています。 しかし、いくつかページを見てみたのですが、 必ず webres.CharacterSet=""となってしまい、CharacterSetの値がとれてこないのです。 HTMLに<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> そのため、表示結果が文字化けしてしまうのですが、 HttpWebResponse.CharacterSetの値はどうやったら取れるのでしょう。 ご存知の方おられましたら、教えてください。 よろしくお願いいたします。 |
1