超メモ帳(Web式)@復活

小説書いたり、絵を描いたり、プログラムやったりするブログ。統失プログラマ。


SPONSORED LINK

Google Co-opの検索項目をEUC-JPに対応させる方法。


まぁhatenaのブログ検索自体はそんなに不具合を感じないのでいいのだけれど、他のサイトでGoogle Co-opを導入するときの問題を考えてみたよ。


google co-opの導入方法については、WWW WATCHさまに詳細な導入方法があるのでそちらを参考にする。


5分でわかる Google Co-op 導入方法 | WWW WATCH


で、ここまでで、Google Co-opは導入できたとしましょう。


ここからが本題。Google Co-opではUTF-8のサイトでは利用できてもEUC-JPのサイトでは文字化けを起こしてしまいます。今回はその対応方法を解説。


Google Co-op導入時点でのjavascriptソースコードは以下のようになると思います。

<!-- Google CSE Search Box Begins  -->
  <form id="searchbox_013797828257052954738:zx6jgpm9s5u" action="http://www.google.com/search">
    <input type="hidden" name="cx" value="013797828257052954738:zx6jgpm9s5u" />
    <input type="hidden" name="cof" value="FORID:0" />
    <input name="q" type="text" size="40" />
    <input type="submit" name="sa" value="Search" />
    <img src="http://www.google.com/coop/images/google_custom_search_smnar.gif" alt="Google Custom Search" />
  </form>
<!-- Google CSE Search Box Ends -->


変更するポイントは2つ。


1.フォームのactionをhttp://www.google.com/searchから、http://www.google.com/cseに変更

2.hiddenコードで文字エンコーディングを伝えてやる。

<input name="ie" value="EUC-JP" type="hidden">
<input name="oe" value="EUC-JP" type="hidden">


そうすると以下のようになると思います。

<!-- Google CSE Search Box Begins  -->
  <form id="searchbox_013797828257052954738:zx6jgpm9s5u" action="http://www.google.com/cse">
    <input type="hidden" name="cx" value="013797828257052954738:zx6jgpm9s5u" />
    <input type="hidden" name="cof" value="FORID:0" />
    <input name="ie" value="EUC-JP" type="hidden">
    <input name="oe" value="EUC-JP" type="hidden">
    <input name="q" type="text" size="40" />
    <input type="submit" name="sa" value="Search" />
    <img src="http://www.google.com/coop/images/google_custom_search_smnar.gif" alt="Google Custom Search" />
  </form>
<!-- Google CSE Search Box Ends -->


こうすることでEUC-JPサイトでもGoogle Co-opが利用できます。

プライバシーポリシー免責事項