[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:37184] plum の log 機能の文字化け



こんにちは。松田陽一@三鷹です。

plum をお使いの方で、ログ機能でログ保存されている方は相応に
いらっしゃるかと思います。
私も最近になって plum のログ機能を使うようになりました。

以前から、このログで一部の人の発言がたまに文字化けしているの
が気になってました。
調べてみましたところ、

- 文字化けする発言者は決まっていて、 7bitJIS の漢字 OUT シー
  ケンスが抜け落ちている

ことがわかりました。

拙いながらも追いかけてみたのですが、この原因は plum 本体の
jis_jis サブルーチンにあるように思います。
本来ならこのルーチンの最後の方で

  $ret .= "\e(B" if $kanji;

と、漢字のフラグが立っているままの状態で行末に至った場合に
漢字 OUT を付加している処理があるのですが、これが有効に機能
していないのではないかと思います。

断言できないんですが、 plum の900行目にある

    } elsif ($c eq "\cO") {
      if ($kanji != 2) {
        if ($last) {
          $ret .= "\e\$B";
        } else {
          $ret .= "\e(B";
        }
        $kanji = $last;
      }
      next;

というコードは

    } elsif ($c eq "\cO") {
      if ($kanji == 2) {
        if ($last) {
          $ret .= "\e\$B";
        } else {
          $ret .= "\e(B";
        }
        $kanji = $last;
      }
      next;

こうなるべきじゃないか? と思います。

私は irc のヘビーユーザではないので、 plum のログ機能をお使
いの方に試して頂ければ幸いです。
或は、「それで良い」「それは間違っている」等のご意見等頂け
れば幸いです。

# 私の方でも別マシンで試験稼働させてますが、実際に文字化け
# するクライアントを使っている方の発言がないと、確証がもて
# ません。
--
夜に帰るため夜に帰るため夜に。
松田 陽一(yoh)

<<<メイルアドレスが変わりました。>>>
mailto:yoh@xxxxxxxx

<<<web site 移転しました。>>>
http://www.flcl.org/~yoh/index.htm