アフィリエイトのWEB技術>文字のエンコード
文字のエンコード
文字のエンコードとは
エンコードというのは、インターネット上で日本語などの複雑な文字コードを安全に送るために記号化することです。
元々コンピュータの世界では英語のように文字数が少ない言語で発達してきたため、はるかにデータ量の多い複雑な文字を表現する手段として文字コードが必要になりました。そしてさらにそれを文字化けさせずに送る手段が必要とされ、エンコードの技術が開発されたと考えられます。
例えば楽天市場で「狸」を検索した結果のURL。
http://esearch.rakuten.co.jp/rms/sd/esearch/vc?p=0&sv=2&sitem=%c3%ac
次にYAHOOで「狸」を検索した結果のURL。
http://search.yahoo.co.jp/search?p=%C3%AC&x=0&y=0&fr=top_v2&tid=top_v2&ei=euc-jp&search.x=1
この二つには大文字・小文字の違いはありますが、どちらにも「%c3%ac」という部分が入っています。これは「狸」という漢字を euc-jp という文字コードで表記し、それをエンコードしたものです。
楽天市場では?の前にあるvcで指定されているプログラムが、YAHOOではsearchで指定されているプログラムが、それぞれ内部で「%c3%ac」という記号を文字に復元(デコードといいます)して、検索結果を返しています。
エンコードされた文字を使う
そして、文字のエンコードのしかたを知っていれば、「狸」に該当する部分を他の文字に変えて、検索結果のURLを自由に生み出すことも可能です。
例えば楽天市場で「カバ」を検索した結果のURLは以下になります。
http://esearch.rakuten.co.jp/rms/sd/esearch/vc?p=0&sv=2&sitem=%A5%AB%A5%D0
狸では「%c3%ac」だった部分が「%A5%AB%A5%D0」に変わっています。
それでは上記のYAHOOで狸を検索した結果の「%c3%ac」を「%A5%AB%A5%D0」に入れ替えて表示してみてください。「カバ」の検索結果が表示されるはずです。
多くのサイトでは検索結果をこのような「エンコードしたキーワード」をパラメータとしてURLの中で指定することによって、自由に作り出すことが可能です。検索結果ページへのアフィリエイトリンクを作ることができるのであれば、任意の検索結果ページにリンクを飛ばすことが可能になります。
また最近はアマゾン、楽天を始め数多くの企業が提供しているWEBサービスの場合、キーワードをどのような文字コードで記述して送るかは、サービスごとに異なっています。Utf-8で記述することを求めているサービスをshift-jisで記述して呼び出しても、期待する結果は返ってきません。