質問: PHPでのメタ検索作成について、教えて下さい。 上記のようなメタ検索を、PHPで自作したいのですが、 文字化けの問題でつまづいています。 グーグル・ヤフーではできたのですが、ウィキペディア・テクノラティだと 日本語で検索した場合、文字化けしてしまうのです。 URLをデコードするのか、サイトの文字コード別に条件を付けなければ ダメなのでしょうか? 「mb_convert_encoding」で試してみたり「.htaccess」の変更などを 行ってみたのですが、上手く作動できませんでした。 解決法が分かりませんので、どうか教えて頂ければ嬉しいです。 以下PHPスクリプトです。 ------------------------------------------------------------ break; case "google": $url=" break; } header("Location: ".$url.$strKey); ?> ------------------------------------------------------------ これを「POST」形式でフォームの処理をしています。 PHPのバージョンは4.4.2です。 (レンタルサーバーなので バージョンを変える事は難しいです) 文字コードは「EUC-JP」です。
回答: Googleは UTF-8 へのエンコードが必要なんですよね。 URLエンコードと検索エンジン [抜粋] 仕組みはいたってシンプルです。(カッコ内はPHP関数) 1.入力フォームから受け取った文字列の文字コードを変更する(mb_convert_encoding) 2.URLエンコード(URLデコード)する(urlencode,urldecode) このような感じになるのではないでしょうか? $data = '検索文字'; $data = mb_convert_encoding($data,"UTF-8",mb_internal_encoding()); $data = urlencode($data); または、 $data = rawurlencode($data); [その他参考] PHPとJavaScriptのURIエンコードを比較 http://jsgt.org/ajax/ref/charset_test/responsetext/php/urlencode... Tip-25:PHPでエンコード/デコード