<< その変数、値がはいってますか? | main | XMLをキャッシュ >>

2007.03.06 Tuesday

リファラーの文字コード変換

リファラーをJavaScript経由で取得する場合は、
URLエンコードされている関係で、キーワードが
%83u%83%8D%83O%83p%81%5B%83c%82%CC%8D%EC%82%E8%95%FB
といった数値で表現されるわけですが、
ちょっと前の記事では、文字コードによって処理を分けていたのですが、
そんなことをしなくてもOKでした。
--

$query_str = %83u%83%8D%83O%83p%81%5B%83c%82%CC%8D%EC%82%E8%95%FB;
となっている場合の例を挙げると、
$query_str = mb_convert_encoding(urldecode($query_str),"UTF-8");
とすると、
UTF-8に変換されたクエリーストリングが得られます。

この前までは、urldecodeしないで、mb_convert_encodingかけていたので、変換できなかったようです。
何故か、EUC-JPで変換できていたのはナゾですが・・・

また、原因ははっきりしていないのですが、ログを見ていると、
たまに、文字化けするので、失敗することもあるようです。

やっぱり、変換元のエンコーディングをちゃんと指定しないとダメなのかなあ?

--

テクノラティお気に入りに追加する

Comments

コメント入力は停止しています

海外からと思われるコメントスパムが横行しているため、全記事のコメント入力を停止しています。メッセージのある方は、ホームページの一番下に連絡欄がありますので、そちらからお願いします。

Trackback URL

トラックバックする場合は、
トラックバック元の記事にこのエントリへのリンクを記載してください
このエントリのタイトル「リファラーの文字コード変換」
このエントリのリンク「http://kommy.s254.xrea.com/blog/log/eid21.html」