WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:%で始まる文字を日本語に変換したい

0:[投稿] Kow [2003/12/02 22:59 ][環境:IE6, WIN2000 UNIX,apache,perl]

アクセスログをとってみたのですが、
たとえば下のように ? のあとに%で始まる文字がついてしまいました。
http://websearch.yahoo.co.jp/bin/query?p=%A5%B7%A5

これらを日本語に直したいのですが、どうすればよいでしょうか?
ご指導のほどどうぞよろしくお願いします。


1:[回答] nero [2003/12/03 01:21 ]

行文字列が $line という変数に入っているとしたら、

$line =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

でデコードできます。詳しくは「URL エンコード」とかで検索してみると分かるでしょうか。


2:[回答] ミツ [2003/12/03 09:48 ]

> 日本語に直したいのですが
単に日本語でどうなっているか見たいならリンクをそのままクリック(笑)検索用のテキストフィールドに表示されるでしょう。

アクセス解析のスクリプト改造して元のコードに戻して表示させたいならneroさんの回答どおり

コード変換(→UFT-8、→EUC、等)が必要です。
コード変換の手段については検索してみてください。


3:[完了] Kow [2003/12/04 22:02 ]

どうもありがとうございました。
ご指摘を頂いてから気づいたのですが、
URLエンコードは本などによくのっていました。

大変たすかりました。
失礼します。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World