« Excerpt というのは... | トップページ | [Tips] IEでも文字化けしないココログル検索窓 »
2004.01.21
[Tips] UTF-8以外の文字コードを送信する必要のある検索窓をUTF-8環境で使う方法
最近、「楽天市場」の検索窓を設置したのですが、Google の検索窓設置のときと同様、文字化け問題が発生していました。Google の場合は、submit 時に Google へ送信する文字列(引数)に &ie=UTF-8 を付加するという方法で、解決できたのですが、「楽天」には、文字コードを指定できる引数が用意されていません。
では、どうやって解決するか? 「複数の文字コードをformからCGIへ送信する方法」に、そのヒント(というか解決法そのもの)がありました。
Netscape など <form> が accept-charset="エンコード種別" をサポートしているブラウザの場合は、 accept-charset="エンコード種別" を指定するだけで解決するのですが、Internet Expolorer の場合は、 悲しいことに accept-charset="エンコード種別" をサポートしていません。
解決法は、実に大胆なものです。こんな方法があったとは!?
IEでの解決策
実はとても簡単な方法で解決する事が出来たのですが、思いつくまでにはかなりの時間がかかってしまいました。 IEでの解決方法はサブミットの瞬間だけページ全体の charset の指定を入れ替えると言う方法です。
(下線は当方で付加)
ということで、ココログ(UTF-8環境)で使える「楽天市場」の検索窓ができました。参考にしたい人がいるかもしれませんので、コードを示しておきます。
アフィリエイトIDの部分は各自で書き換えて使ってください。
もちろん、accept-charset="エンコード種別" をサポートしているブラウザでも、使えるようになっています。
<form name="rakutenSubmit" method="get" action="http://pt.afl.rakuten.co.jp/c/00085c08.6d2598c1/" onsubmit="return false;" accept-charset="euc-jp"> <input type="hidden" name="sv" value="2" /> <input type="hidden" name="p" value="0" /> <table width="150" border="0" cellspacing="0" cellpadding="1" bgcolor="#bf0000"> <tr><td align="center"> <table cellspacing="0" cellpadding="3" border="0" width="100%" bgcolor="#FFFFFF"> <tr><td bgcolor="#bf0000" align="center"> <strong><font size="2" color="#FFFFFF">楽天で探す</font></strong> </td></tr> <tr bgcolor="#fffcdd"><td nowrap="nowrap" align="center"> <input type="text" size="14" name="sitem" value="" /> </td></tr> <tr bgcolor="#fffcdd"><td align="center"> <input type="button" value="商品検索" onclick="document.charset='euc-jp'; document.rakutenSubmit.submit(); document.charset='UTF-8';" /> </td></tr> <tr><td nowrap="nowrap" align="center"> <img src="https://image.rakuten.co.jp/com/img/logo/base/w080.gif" width="80" height="36" border="0" alt="楽天市場" /> </td></tr> </table> </td></tr> </table> <img src="http://ba.afl.rakuten.co.jp/b/00085c08.6d2598c1" width="1" height="1" border="0" alt="楽天市場" /> </form>
この方法は、ココログルの検索窓が文字化けする件への解決策としても応用できると思います。 試してみてください。
関連リンク: ココログル検索窓☆IE版苦肉の策w
IE対応のココログル検索窓、他に方法はきっとあると思うので後日また検討してみます(^^;
その後、どうなりましたでしょうか? もし、まだ解決してないようでしたら、参考にしてくださいませ。
投稿者: tsupo 2004.01.21 午後 09:56
| 固定リンク
|
|
|
|
|
アマゾンわくわく探検隊
トラックバック
この記事のトラックバックURL:
この記事へのトラックバック一覧です: [Tips] UTF-8以外の文字コードを送信する必要のある検索窓をUTF-8環境で使う方法:
» [Tips] IEでも文字化けしないココログル検索窓 from 観測気球
ということで、さきほどの記事に書いた方法を応用して、IEでも文字化けせずに使えるココログル検索窓を作ってみました。 <form name="cocologle" 続きを読む
» RSSSearch検索窓の動作改善 from パンパでガウチョ
前の記事でRSSSearchが期待した動作をしない旨を下記のように報告したのですが、このたび解決しました。RSSSearchの検索窓をトップページのカレンダーの下に貼り付けてみました。
続きを読む
» UTF-8で文字化けする楽天検索窓を改造 from ココログ@働く主婦のすちゃらかSHOP
今までココログや素材集に設置していた楽天のアフィリエイトの検索窓、検索しても文字 続きを読む
» 検索窓つけました from 自己啓発は頑張らない
bk1というインターネット上の本屋さんへのリンクを貼ることにした。 そこのH 続きを読む
» 「楽天市場」検索窓の文字化け対策 from 星のきらめき
「楽天市場」の検索窓を設置したのですが、検索すると見事に文字化けしていました。
... 続きを読む
» 楽天の検索窓 from Mystery Best ???(ココログ版みすべす)
みすべす楽天の検索窓をつけてみました。 正直に言って、わたしはhtmlについ 続きを読む
» 楽天の検索窓って from MacOS Xのある生活
EUCで渡してやらないと駄目なんだね。 楽天の検索窓へのリンクを作成してて、はじめて知った。 検索の主要サービスって、Unicodeで渡してやればOKだったら... 続きを読む
» UTF-8で楽天の検索窓を設置する方法 from すちゃらかアフィリエイト情報局
楽天で探す体験してすでに知っている方も多いだろうが、ココログやブログ人など、文字 続きを読む
» IEのばか。まだ化けるじゃん、検索窓。 from goorooのステシテ人♪
昨夜(というか今朝)、Yahoo!辞書の検索窓をUTF-8対応に。を成し遂げて、 続きを読む
» Form送信時の文字コード解決 from Sincerely Selected Shop Staff blog
こんにちは。開発者Dです。 ここでは少し開発のTipsなども載せていこうかなと思... 続きを読む
» MTで楽天市場の検索フォーム設置 from レバレッジ・アフィリエイト術
続きを読む
コメント
メモ: TG(Traffic Gate)楽天検索窓の文字化け
http://right-left.tea-nifty.com/blog/2004/10/tgtraffic_gate.html">http://right-left.tea-nifty.com/blog/2004/10/tgtraffic_gate.html
投稿者: tsupo (2004.11.01 午前 11:41)
検索窓の文字化けで悩んでいてたどり着きました。
ココログではなくロリポップにMovableTypeを入れて
運営しています。このコードを使わせて頂いて
楽天IDを変換したのですが、どうしても楽天トップにしか
飛ぶ事ができません。(IDそのままなら問題なく検索
出来ました)他に変更する部分などあるのでしょうか?
よろしくお願いいたします。
投稿者: だんな (2005.04.23 午後 03:46)
楽天アフィリエイトのページで検索した結果に表示される「商品リンク」ボタンを押したときに生成されるIDはその商品もしくはショップ固有の情報が含まれる(と予想しています)ため、使えません。
http://partner.afl.rakuten.co.jp/af/a_top.cgi の「楽天内のURLから一発リンク作成!!」で作成した URL に含まれる ID を使ってください。 もしくは、「お気軽ジャンルカスタマイズ」( http://affiliate.rakuten.co.jp/otegaru/ )で生成した URL に含まれる ID でも OK だと思います。
投稿者: tsupo (2005.04.24 午後 04:54)
tsupoさん、はじめまして。
すみません、TBスパムになってしまいました。
お手数ですが削除して下さい。
恐らく、成功してたのに、CMS側が失敗と認識していたんだと思います。
TB窓にずっと残っていましたから...。
それで何度か保存しなおしてしまいました。
確認してからやるべきでした。
解説ありがとうございました。助かりました。
投稿者: gooroo (2005.06.12 午後 01:53)
私も文字化けで悩んだ者の一人です。
CGIなどに一回飛ばして、文字列を変換し転送する方法とかいろんな方法を試しましたが失敗に終わりましたOTZ
ところが今日ここへきて
目からうろこが出ましたwww
ありがとうございます。ひとつまた勉強になりました。
投稿者: sinco (2008.04.19 午後 09:43)