別テーマブログ: 【 手帳と書斎とパソコンの深い森で 】 【 斜め読み日和 】 【 映画のある生活

【 2006年3月 1日 】

「Movable Type用プラグインStatWatchをちこっと改造」をちこっと改良

[過去記事 元:2005-11-14 15:18:46]

昨日、「もっともこれでは英数字で始まるeuc-jpがうまく変換できない」と書いたら、さっそく条件に当てはまる訪問が来てしまったので、ちこっと改良した。
日々直す、いいことだね。

昨日下のようにしたところを、

if ((substr($value, 0, 2) eq '%E') or (substr($value, 0, 2) eq '%e')) {
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('H2', $1)/eg;
} elsif (substr($value, 0, 1) eq '%') {
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('H2', $1)/eg;
Encode::from_to($value, 'euc-jp' => 'utf8');
} else {
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('H2', $1)/eg;
}

次のように改めた。
if ((substr($value, index($value,'%'), 2) eq '%E') or (substr($value, index($value,'%'), 2) eq '%e')) {
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('H2', $1)/eg;
} else {
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('H2', $1)/eg;
Encode::from_to($value, 'euc-jp' => 'utf8');
}

ちょっとソースがすっきりしたので、かえって良かったかも。
あと、infoseek.co.jpとask.jpからの訪問者もそれぞれひとりいるので、多くなるようだったら対応しよう。

トラックバック(0)

トラックバックURL: http://www.ohzapper.com/mt4home/mt-tb.cgi/1343

コメントする

アーカイブ

広告

広告