C#でHTML操作についての困りごとと解決方法

このQ&Aのポイント
  • C#でHTMLの操作について困っています。インプットボックスに日本語を入れると文字化けしてしまいます。問題を解決する方法を教えてください。
  • HTMLのテキストボックスにC#で日本語を入力すると文字化けしてしまう問題について、解決方法をお教えください。
  • C#でHTMLの操作を行う際に、テキストボックスへの日本語の入力が文字化けしてしまいます。この問題を解決する方法を教えてください。
回答を見る
  • ベストアンサー

C#でHTML操作

C#でhtmlの操作について困っています。教えてください。 <input type=text name=name value=""> ↑HTMLでこういうテキストボックスがあったとします。 ここに「English」という入力したいとき。 C#では foreach (HtmlElement pageElement in webBrowser1.Document.All) { if (pageElement.GetAttribute("name") != "name") continue; pageElement.SetAttribute("value", "English"); break; } とすれば入力されました。 でも日本語を入れると文字化けして入力されます。 たぶんC#はユニコードでホームページはEUCだからだと思います。 どうすればいいですか。

質問者が選んだベストアンサー

  • ベストアンサー
  • yotchan2
  • ベストアンサー率61% (8/13)
回答No.1

>たぶんC#はユニコードでホームページはEUCだからだと思います。 >どうすればいいですか。 HTMLのエンコードを指定してやればいいかと思いますよ。

関連するQ&A

  • C# からIE操作について

    このコードは出来ましたが、 HtmlElementCollection forms1 = all.GetElementsByName("password"); forms1[0].InnerText = "TEST"; // テキストボックスに「C#」を入力 こちらが今してるのは、IEにチェックボックスにチェックしたいけど、どうしたら出来ますか? IEソース <input name="saveFlg" type="checkbox" id="saveFlg"/> C# HtmlElement usernameTextbox = webBrowser1.Document.GetElementById("saveFlg"); usernameTextbox.SetAttribute("saveFlg", "1"); これをしてもチェックしてくれませんでした どうしたらいいですか? どなたか教えて頂けませんか?

  • C# htmlの一部の文字取得

    C#のwebBrowserで表示されているtextを表示させたいです。 htmlが <div class="AAA"> BBB </div> となっており、BBBのtextを取得したい場合、 HtmlElementCollection elem = webBrowser0.Document.GetElementsByTagName("div");   foreach (HtmlElement element in elem)   {    if (element.GetAttribute("class") == "AAA")  {  str = element.InnerText;  } } と、しましたが、上手く取得出来ません。 ご教授頂ければ助かります。

  • C# 文字列型のhtmlから要素を取得したい

    textBox1.Text = "<li>aaaaa</li><a id="link" href="http://yahoo.co.jp" >bbbbb</a><p>ccccc</p>"; WebBrowser webbrowser = new WebBrowser(); webbrowser.DocumentText = textBox1.Text; HtmlElementCollection elements = webbrowser.Document.GetElementsByTagName("a"); foreach (HtmlElement element in elements){ if (element.GetAttribute("id") == "link"){ str = element.GetAttribute("href"); } } MessageBox.Show(str); このようにソースを書いたのですが、http://yahoo.co.jpをポプアップで表示することができません。 webBrowserに表示しているサイトのHTMLに対して行うときはほとんど同じ方法で取得ができるので、文字列に原因があるだろうということはわかるのですが、何がいけないかがイマイチわかりません。 ステップ実行したところ、foreachの中にはいらないようです。なぜ入らないのでしょうか?どうすればはいるのでしょうか? よろしくおねがいします。

  • <!DOCTYPE HTML PUBLIC "-//W3C//DTD

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>入力ページ</title> </head> <body> <p>-- 入力ページ --</p> <p><form action="test2.jsp"> ID: <input type="text" name="uid" size10><br> お名前: <input type="text" name="name" size=32><br> 生年月日: <input type="text" name="money" size=20><br> <br> <input type="submit" value="OK"> </form></p> </body> </html> ------------------------------------------------------- test2.jsp <%@ page contentType="text/html; charset=euc-jp" %> <% // ユーザーからの入力を出力する // パラメータを取得 String uid = request.getParameter("uid"); String name = request.getParameter("name"); String money = request.getParameter("money"); // 文字コードの変換 //uid = new String(uid.getBytes("8859_1"), "EUC_JP"); name = new String(name.getBytes("8859_1"), "EUC_JP"); money = new String(money.getBytes("8859_1"), "EUC_JP"); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>ユーザーからの入力を出力する</title></head> <body> <p>-- ユーザーからの入力を出力する --</p> <p><ul> <li>ID: <%= uid %> <li>お名前: <%= name %> <li>生年月日: <%= money %> </ul></p> </body> </html> htmlの入力フォームからjspを呼んで表示させるだけなのですが、入力して「OK」をおすと You don't have permission to access /~.........../test2.jsp on this server. と出るのですが、何が原因なのでしょう。教えてください。

  • WebbrowserよりHTMLのValue値を取得したい

    こんばんは Webbrowserに表示されているページから <input type="hidden" name="regist_id" value="123456789"> というう箇所のValueの値123456789を取得しLabel1.Textに表示させたいのですが、 WebBrowser1.Document.getElementsByName("regist_id").Item(0).Value = Label1.Text としてみたのですが無理でした。 label1は空白になるだけでした。 どこが間違っているのでしょうか? VB2005で製作しております。

  • C#2005 Webbrowserコントロール での自動チェックボックス

    Visual C# 2005 で、 Webbrowser コントロールでの自動処理を試みているのですが、 チェックボックスに自動チェックを入れたいのですが、 やり方分かる方、ご教示いただけませんでしょうか。 <input type="checkbox" name="example" value="サンプル">サンプル

  • servet(idに関連付くvalue値を取得する方法について)

    HTMLのフォーム内にある 「idに関連付くvalue値を取得する方法について」教えてください。 今はnameで取得しているのですが、 それが中々不便なものでServletでidのvalue値を取得したいと思っています。 【HTML】 ---------------------------------------------- <html> <head> <title>ID_VALUE_GET</title> </head> <body> <form name="form1"> <input type="text" id="id" name="name"> </form> </body> </html> ---------------------------------------------- 現在:  String インプット属性のnameのvalue値 = getAttribute(name); 考えている事:  String インプット属性のidのvalue値 = getAttribute(id); ということをしたいのですが可能でしょうか? (nameに対して、getAttribute(getParameter)をかけるのではなく、idに対してかける方法というのはありますでしょうか?)

    • ベストアンサー
    • Java
  • javascriptのアラートの表示方法について

    javascript初心者です。 javascriptで、計算機を作っていて、数字を入れずに 「=」(計算)ボタンを押すと、 「未入力です」とアラ-トで表示させたいのですが、 やり方がわかりません。 お手数ですが、ご教示下さい! よろしくお願いします!! ※以下、私が作成したものです。 この中のどの部分に、どのような表記をいれたら良いのか、 教えてください。。 <html>   <head>    <title>計算機</title>   <script type="text/javascript">     function Calc() {    var a;    var b;    var c;    var ope;        a = parseInt(document.form1.textA.value);    b = parseInt(document.form1.textB.value);    ope = parseInt(document.form1.selOpe.value);        switch (ope) {   case 1:c = a + b;    break;   case 2:c = a - b;    break;   case 3:c = a * b;    break;   case 4:c = a / b;    break;   default:   break;    }    document.form1.textC.value = c;    }   </script>    </head>     <body>     <form name="form1">      <INPUT TYPE="text" NAME="textA">       <select name="selOpe" size=1>       <option value="1">+</option>       <option value="2">-</option>       <option value="3">×</option>       <option value="4">÷</option>       </select>        <INPUT TYPE="text" NAME="textB">         <input type="button" name="cmdCalc" value="=" onclick="Calc()">        <INPUT TYPE="text" NAME="textC">     </form>     </body> </html>

  • javascriptで複数の計算を同時にしたい

    いろいろ調べたのですが私の頭では%を含む書き方がわからず困っています。 具体的にやりたいことは以下です (aに入力された数字+aの5%)+bに入力された数字÷cで選択された数字+最後に10を足して、答えをdに表示 小数点以下は切捨てor切り上げどちらでもかまいませんが、表示されないようにしたいです。 <input name="a" value=""> <input name="b" value=""> <input type="radio" name="c" value="2"> <input type="radio" name="c" value="4"> <input type="radio" name="c" value="7"> <input type="radio" name="c" value="9"> <input onclick=clac() value="計算" type=button> <input name="d" value=""> よろしくお願いします。

  • C#のNavigateメソッドの質問です

    昨日はじめてC#を触った初心者です。 C# Windows フォーム アプリケーションを作成しております。 作りたいアプリはあるページを移動しながらそれぞれのリンクを取得していくアプリです。 いろいろ調べながら作成したソースを以下に記します。 private void button3_Click(object sender, EventArgs e) { int i = 1; String stView = ""; String url=""; String num = i.ToString(); while (i<=10) { num = i.ToString(); url = "http://...........page=" + num; //(←ここに取得したいアドレスが入ります) webBrowser1.Navigate(new Uri(url)); // 現在のページ内リンクのコレクション取得 HtmlElementCollection hecList = webBrowser1.Document.Links; // リンクのコレクションからURLリスト文字列作成 foreach (HtmlElement elm in hecList) { // HTML要素のhref(リンク先)属性処理 if (elm.GetAttribute("href") != null) { stView += elm.GetAttribute("href").ToString(); stView += "\r\n"; } } i++; } richTextBox1.Text = stView; } これでデバッグしてみたのですがNavigateのあとのDocumentが変わってくれません。 どのようにすればよいかアドバイスをお願いいたします。

専門家に質問してみよう