何気なく CPAN モジュールの丸ごとアップデートをしたら Plagger の Publish::Twitter で同期している Wassr → Twitter が豪快に文字化け。
Changelog を見る限り
3.00000 2009-05-30 - upgrade get/put parms so Latin-1 can be handled as UTF-8
あたりが怪しいので、Publish::Twitterをこんな感じで変更
diff --git a/lib/Plagger/Plugin/Publish/Twitter.pm b/lib/Plagger/Plugin/Publish/Twitter.pm index 4ffe79d..13ff1b5 100644 --- a/lib/Plagger/Plugin/Publish/Twitter.pm +++ b/lib/Plagger/Plugin/Publish/Twitter.pm @@ -40,7 +40,7 @@ sub publish_entry { $body = substr($body, 0, 159); } $context->log(info => "Updating Twitter status to '$body'"); - $self->{twitter}->update( encode_utf8($body) ) or $context->error("Can't update twitter status"); + $self->{twitter}->update( $body ) or $context->error("Can't update twitter status"); my $sleeping_time = $self->conf->{interval} || 15; $context->log(info => "sleep $sleeping_time.");
とりあえず動いてるっぽい。
これ、github の master に取り込んでもらう時はどうすればいいんだっけ…。git pull 厨なのでさっぱりわからんなー。
いやはや、所変わるとソフトウェア開発と言えど、ここまで変わるもんなんだなあ。色々書くには余白が足りないのでここには書かない。
Net::Twitterの古いのを使っている人のために、なにかを判定してencode_utf8するかどうかを勝手に使い分けてくれる方が良いのかもなぁ。
手元でcommitして<br>git format-patch origin/master
mattn++