こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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
宜しくお願いいたします。

投稿日時 - 2007-07-10 21:30:40

QNo.3156460

困ってます

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

EUC に URL エンコードしてあげる必要があります。
こちらにサンプルがあります。
http://www.geocities.co.jp/SilkRoad/4511/vb/urlenc.htm

ちなみに google では utf-8 で処理してるからそのままでも問題が起きていないんでしょうね。
上記のエンコードの機能を導入するのなら、google の場合は utf-8 エンコードしてもいいのでは?

投稿日時 - 2007-07-10 21:57:24

お礼

有難うございました。
サイトのソース見て動きそうなので
とりあえず、今コピーして
確認しました。OKです。
これを参考にして関数作成します。

投稿日時 - 2007-07-11 20:04:46

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

この手のプログラミングなんて全然分からないけど検索クエリなら少しは分かりますので回答。
(ウェブページに検索ボックスを埋め込む実験を行ったことがある)
文字化けが起こる場合はURLにei=[文字コード]のパラメータを追加すると上手く行くかもしれません。
http://search.yahoo.co.jp/search?ei=EUC-JP&p=

投稿日時 - 2007-07-11 00:18:12

ANo.2

原因は判らず、直接の答えではないのですが、
エクセル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)文字化けはありませんでした。
ご参考までに。

投稿日時 - 2007-07-10 22:46:04

あなたにオススメの質問