何気なく 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++