文字化けと文字コード
もうひとつ、検索キーワードの集計がはらむ問題として、「文字化け」の問題があります。なぜ文字化けするのかを考える前に、「文字コード」について簡単に説明しておきましょう。
コンピュータはそもそも「計算機」と呼ばれるように、数字しか扱うことができません。そこで、文字と数字の対応表を作って、この数字のときはこの文字を表示する、という形で処理を行います。このように、ある文字に割り当てられた数字が「文字コード」です。
しかし、日本語を表す文字コードには複数の種類があります。例えば「Shift-JIS」や「EUC-JP」「UTF-8」などが、日本語を表すことができる文字コードです。そしてそれらの間には互換性がなく、ある文字コードで作成されたデータを、異なる文字コードの表に当てはめて表示してしまうと、意味をなさない文字列が表示されてしまいます。これがいわゆる「文字化け」です。

検索エンジンと文字コード
インターネット上でも、複数の文字コードが使われています。同様に、検索エンジンから送られてくるキーワードのデータも、その検索エンジンが利用している文字コードで埋め込まれることになります。
アクセス解析においては、いろいろな文字コードで埋め込まれているデータを変換し、ひとつの文字コードにそろえて集計しなければなりません。しかし、これをきちんとやるのはかなり大変なことなのです。
- 検索キーワードが短い
文字コードの種類は、そこで使われている文字列を見れば、ある程度の判別が可能です。しかし短い文字列の場合、特徴が見つけられないケースもあり、判別が難しくなります。ウェブページ全体のようにたくさんの文字が含まれていればかなり正確に判断できますが、検索に利用するキーワードは非常に短い場合が多く、文字コードの検知に失敗する場合も多いのです。 - 複数の文字コードを利用する検索エンジン
文字コードは、同じ検索エンジンなら同じコードになっているはずだから、検索エンジンごとに、どの文字コードを使うかをリストアップしておけばいい、と思うかもしれません。しかし、同じ検索エンジンで複数の文字コードが使われることもあるのです。
例えばYahoo!では、最初にトップページから検索を行った場合は「EUC-JP」という文字コードが利用されますが、検索結果ページにある検索窓から検索を行った場合は「UTF-8」になります。

Googleでは基本的にはUTF-8を利用していますが、EUC-JP、Shift-JISなどさまざまな文字コードにも対応しています。
