- ベストアンサー
Yahoo検索で文字化け
お世話になります、 Google、Yahoo検索する プログラム(検索文字をテキスト ボックスから入力して) を作成したのですが、Googleは OKなのですがYahooが検索文字が 化けます。PHPのようにエンコーディング する必要があるのでしょうか? ソースは以下の通りです。 Dim ie As Object Set ie = CreateObject("InternetExplorer.Application") ' With ie '検索エンジンを判断する If Option1.Value = True Then 'Google .Navigate "http://www.google.co.jp/search?q=" & Text1.Text Else 'Yahoo .Navigate "http://search.yahoo.co.jp/search?p=" & Text1.Text End If ' .Visible = True ' End With 宜しくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
EUC に URL エンコードしてあげる必要があります。 こちらにサンプルがあります。 http://www.geocities.co.jp/SilkRoad/4511/vb/urlenc.htm ちなみに google では utf-8 で処理してるからそのままでも問題が起きていないんでしょうね。 上記のエンコードの機能を導入するのなら、google の場合は utf-8 エンコードしてもいいのでは?
その他の回答 (2)
- MAN_MA_RUI
- ベストアンサー率41% (426/1024)
この手のプログラミングなんて全然分からないけど検索クエリなら少しは分かりますので回答。 (ウェブページに検索ボックスを埋め込む実験を行ったことがある) 文字化けが起こる場合はURLにei=[文字コード]のパラメータを追加すると上手く行くかもしれません。 http://search.yahoo.co.jp/search?ei=EUC-JP&p=
- imogasi
- ベストアンサー率27% (4737/17069)
原因は判らず、直接の答えではないのですが、 エクセルVBAでやってみました。 Sheet1にテキストボックス1つ、オプションボタン1つ張り付け、オプションボタンをOn、Offにして、適当にテキストボックスに文字を入れて実行しました。 エクセルVBAであるために、コントロール名が一部変わっていますがご質問どおりのコードです。 Sub test02() Dim ie As Object Set ie = CreateObject("InternetExplorer.Application") ' With ie '検索エンジンを判断する ' MsgBox Worksheets("Sheet1").OptionButton1.Value If Worksheets("Sheet1").OptionButton1.Value = True Then 'Google MsgBox "goo" .Navigate "http://www.google.co.jp/search?q=" & _ Worksheets("Sheet1").TextBox1.Text Else 'Yahoo .Navigate "http://search.yahoo.co.jp/search?p=" & _ Worksheets("Sheet1").TextBox1.Text End If ' .Visible = True ' End With End Sub どちらも、私の場合(IE7.0)文字化けはありませんでした。 ご参考までに。
お礼
有難うございました。 サイトのソース見て動きそうなので とりあえず、今コピーして 確認しました。OKです。 これを参考にして関数作成します。