2008/01/31


実は、ここのサーバのJcode.pmがちゃんと動いてなかった事に気づいた。

最近トラックバックスパムがやたらと文字化けを起こすなぁ...って思ってたんです。まぁ、相手のサーバの文字コードなんかお構い無しに放り投げてくるのがスパム!な訳ですから、化けてあたりまえ...
いや待てよ、blosxomのwritebackプラグインでJcode::convert変換してたはず。しかもutf8でだ。
で、ようやく重い腰をあげる。

調べてる内に、ここのサーバではJcode.pmがutf8で全滅している事に気づいた。
このサーバではXSは置けないのでJcode::Unicode::NoXSが動いているものとばかり思っていたのだが、いやいや...

うんちゃらかんちゃら、弄ってる内にメンドクサクなってきたので、ついいつもの適当ハック癖...。
Jcode/Unicode/NoXS.pm内のメソッドをJcode::XXXからJcode::_Classic::XXXに一括痴漢^H^H置換して、お茶を濁す。

--- Jcode/Unicode/NoXS.pm.orig  2007-06-26 00:31:47.000000000 +0900
+++ Jcode/Unicode/NoXS.pm   2007-06-26 03:23:49.000000000 +0900
@@ -53,7 +53,7 @@
 # instead of being 'use'd (No package export done) subs below
 # belong to Jcode, not Jcode::Unicode

-sub Jcode::ucs2_euc{
+sub Jcode::_Classic::ucs2_euc{
     my $thingy = shift;
     my $r_str = ref $thingy ? $thingy : \$thingy;
     _init_u2e();
@@ -68,7 +68,7 @@
     $$r_str;
 }

-sub Jcode::euc_ucs2{
+sub Jcode::_Classic::euc_ucs2{
     my $thingy = shift;
     my $r_str = ref $thingy ? $thingy : \$thingy;
     _init_e2u();
@@ -84,21 +84,21 @@
     $$r_str;
 }

-sub Jcode::euc_utf8{
+sub Jcode::_Classic::euc_utf8{
     my $thingy = shift;
     my $r_str = ref $thingy ? $thingy : \$thingy;
-    &Jcode::euc_ucs2($r_str);
-    &Jcode::ucs2_utf8($r_str);
+    &Jcode::_Classic::euc_ucs2($r_str);
+    &Jcode::_Classic::ucs2_utf8($r_str);
 }

-sub Jcode::utf8_euc{
+sub Jcode::_Classic::utf8_euc{
     my $thingy = shift;
     my $r_str = ref $thingy ? $thingy : \$thingy;
-    &Jcode::utf8_ucs2($r_str);
-    &Jcode::ucs2_euc($r_str);
+    &Jcode::_Classic::utf8_ucs2($r_str);
+    &Jcode::_Classic::ucs2_euc($r_str);
 }

-sub Jcode::ucs2_utf8{
+sub Jcode::_Classic::ucs2_utf8{
     my $thingy = shift;
     my $r_str = ref $thingy ? $thingy : \$thingy;
     my $result;
@@ -121,7 +121,7 @@
     $$r_str = $result;
 }

-sub Jcode::utf8_ucs2{
+sub Jcode::_Classic::utf8_ucs2{
     my $thingy = shift;
     my $r_str = ref $thingy ? $thingy : \$thingy;
     my $result;

とりあえず、動いてそげ。
Posted at by




Livedoor Readerの海外版、「FastLadder」が公開されました。
FeedFetcherのユーザエージェントは、LDRとそっくり「Fastladder FeedFetcher/0.01」でした。
さて、弄り倒しますか。

fastladder-20070703

あわせて「フィード購読者数カウンタ for blosxom」も修正しました。
ダウンロード:
Posted at by




最近は技術情報ばかり書く機会が多く、このブログにメールから投稿する事はあまりなくなりましたが、もしかすると需要はあるかもしれないので...
blosxomをXMLRC経由でポストするスクリプトBXR(blosxom-xmlrpc.cgi)をWindows Live Writerからポストするとサーバ側でパースに失敗していました。
調べた結果、Windows Live WriterはXMLの先頭にBOMを付けてくれるらしく、XMLRPC::Transport::HTTP::CGIがパースエラーを起こしてました。
とりあえず私の所は応急処置で、User-Agentを見て先頭3バイトを削るワークアラウンドで逃げる事にしました。
またWindows Live WriterはcategoryNameとcategoryIdを正しく区別出来ていないようなので、こちらもUser-Agentを見てcategoryIdのみ処理するよう修正しました。
※Windows用にbinmodeしたほうがいいかもしれない。

これで外部XMLRPCキッカー(sidebar.jp等)を使用したモブログ、ブログエディタ等でポスト出来るようになります。

ダウンロード:
Posted at by