最近(2015/09/02)になって、「charset=shift_jis」のサイトに設置したGoogle検索ボックス(カスタム検索ではない)で、キーワードを指定して検索すると、検索結果ページ上で、入力したキーワードが文字化けをおこして、うまく検索できないという現象が発生しました。
サイトに設置していたコードは↓な感じのやつ。
<form method=get action="http://www.google.com/search">
<input type="hidden" name="hl" value="ja" />
<input type="hidden" name="ie" value="Shift_JIS">
<input type="hidden" name="oe" value="Shift_JIS">
<input type="hidden" value="my_site_address" name="as_sitesearch" />
<input type="text" name="q" value="" size="40" />
<input type="submit" name="btnG" value="サイト内検索" />
</form>
原因は、上記コードの1行目のactionに指定したURL。
www.google.com では ieとoeにShift_JISを指定すると文字化けを起こします。
解決するには、
・actionのURLは http://www.google.co.jp/search に変更 ←httpsのほうがいいかも
・ieやoeの指定をやめる ←上記の3,4行目を削除
のどちらか(または両方)の対応をすればOKです。
Googleさん、勝手に仕様を変えないでください。
どーーかお願いします。
追記:2016/08/28
daiさんより下記の報告をいただきました。ありがとうございました。
2015/9/3の記事ですが、
http://www.google.co.jp/search に変更
だけでは、文字化けが解決しませんでした。
そこで、
ieやoeの指定をやめる
も併用したら、解決しました。
なお、<form method=get action="http://www.google.co.jp/search" target="_top">
と、target をつけている場合は、
ie oe を残していても文字化けしませんでした。
ぐっどらっこ。