「Yahoo検索窓で半角カナでも文字化けしない方法」

ホームページを作りそこにYahoo検索窓を設置しました。(http://howto.yahoo.co.jp/homepage/3/1.html)
私のホームページは「Shift_JIS」です。
上記で作成したYahoo検索窓で、半角カタカナで入力すると、検索結果が文字化けしてしまいます。例えば「ニュース」と入れると結果は「騰綾」での検索結果になります。(http://search.yahoo.co.jp/bin/query?p=%c6%ad%b0%bd&hc=0&hs=0)
私のホームページのyahoo検索窓設置のHTMLの修正をして、このような文字化けをなくす方法をご存知の方、教えて下さい。
Dan

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/10/27 10:20:52
  • 終了:--

回答(2件)

id:m1038 No.1

m1038回答回数27ベストアンサー獲得回数12004/10/27 11:10:22

ポイント30pt

参考URLの「Shift_JIS のページから EUC-JP を送信」にあるように、検索窓をEUCにしてiframeでShift_JISのページに取り込めばなんとかなるのでは。

id:Dan

ありがとうございました。

結構難しい問題なのですね。

iflameをできれば使いたくないため「上記の方法がダメだと思う場合」を新しいページにコピーして試しましたが、ダメでした。(IEが「オブジェクトがない!」と言ってきます)

2004/10/27 12:08:46
id:buriburimegurin No.2

buriburimegurin回答回数25ベストアンサー獲得回数02004/10/27 11:46:40

ポイント60pt

文字化けしている部分ですが、

Hexで c6adb0bdhc

シフトJISで半角カタカナで「ニュース」ですね。

ヤフー上で半角カタカナについては文字コードの変換が正確に行われていないのではないでしょうか?

どうしても半角カタカナでの入力を有効にされたい場合は、独自にEUC変換してからヤフーに引き渡せばよいのではと思います。

とりあえずの対策としては、下記のような関数をつくってSubmitの際に呼び出すというのはどうでしょう?

<script type=”text/javascript”>

<!--

function submitYahoo(){

document.charset=’EUC-JP’;

yahooform.submit();

}

// -->

</script>

#onClickにて上記関数を呼び出すようにします。

<!-- Begin Yahoo Search Form -->

<FORM name=”submitYahoo” METHOD=GET ACTION=”

”>

<INPUT SIZE=30 NAME=p> <INPUT TYPE=submit onClick=”submitYahoo();return;” VALUE=”Yahoo! 検索”>

</FORM>

<!-- End Yahoo Search Form -->

のような感じではいかがでしょうか?

#シフトJIS半角カタカナの「ニュース」は、全角カタカナの「ニュース」として検索されます。

(通常のヤフーメニューからの検索でも、半角カタカナを入力した場合全角として検索されます。)

id:Dan

ありがとうございました。

参考URL内の「2004/10/07 より良い方法があった 」を参照して自分のHPを修正しました。

バッチリOKでした。

感謝します。

2004/10/27 13:03:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません