●リファラーの文字コード変換
リファラーをJavaScript経由で取得する場合は、
URLエンコードされている関係で、キーワードが
%83u%83%8D%83O%83p%81%5B%83c%82%CC%8D%EC%82%E8%95%FB
といった数値で表現されるわけですが、
ちょっと前の記事では、文字コードによって処理を分けていたのですが、
そんなことをしなくてもOKでした。
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で変換できていたのはナゾですが・・・
また、原因ははっきりしていないのですが、ログを見ていると、
たまに、文字化けするので、失敗することもあるようです。
やっぱり、変換元のエンコーディングをちゃんと指定しないとダメなのかなあ?
--
$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
コメント入力は停止しています
海外からと思われるコメントスパムが横行しているため、全記事のコメント入力を停止しています。メッセージのある方は、ホームページの一番下に連絡欄がありますので、そちらからお願いします。