人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

「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

●質問者: Dan
●カテゴリ:ウェブ制作
✍キーワード:Dan HTML Shift_JIS Yahoo カタカナ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● m1038
●30ポイント

http://www.hicat.ne.jp/home/tomcre/search/zatu/charset2.html

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

◎質問者からの返答

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

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

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


2 ● buriburimegurin
●60ポイント

http://www.hicat.ne.jp/home/tomcre/search/zatu/charset.html

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

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=”

http://search.yahoo.co.jp/bin/search

Yahoo!検索

”>

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

</FORM>

<!-- End Yahoo Search Form -->

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

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

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

◎質問者からの返答

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

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

バッチリOKでした。

感謝します。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ