本文が化けるよー
追記 1: uconv.so を入れるとメール経由で追加した日記が 生 JIS になってしまうようだ。これで直すべき場所が絞られてきたな。
追記 2: その後の調査により、tDiary 本体のどこかで ひっかかっているらしいことがわかった。
追記 3: 当面 tDiary 本体にだけ uconv を使わせないことにして解決した。
追記 4: それは解決したとは言わない。
追記 5: uconv を使わなくしたら突然速くなった。 もしかして to_native で一文字ずつ処理してるのが遅くなる原因か?
追記 6: ああそんなことないや。 gsub!(re) ならたいして遅くならないはずだ。 もうちょっと考えよう。
あー、そうか! 単純な話じゃん。 to_native では Uconv.u8toeuc してるのに iso-2022-jp が来るもんだからそのままスカッと通ってしまうわけだな。 tDiary の posttdiary.rb が EUC で POST するのに対し、 家の独自ブリッジは iso-2022-jp で POST するから文字コードがずれるわけだ。 これですっきりした。
原因がわかればたいしたことないな。 ESC が入ってたら iso-2022-jp 扱いにしよう。
--- tdiary/lang/ja.rb.org 2003-11-07 17:50:37.000000000 +0900 +++ tdiary/lang/ja.rb 2003-11-07 17:51:44.000000000 +0900 @@ -31,6 +31,7 @@ begin @reg_char_utf8 = /&#[0-9]+;/ def to_native( str ) + return NKF::nkf( '-Je m0', str ) if /\e/ =~ str if @reg_char_utf8 =~ str then str.gsub!( @reg_char_utf8 ) do |v| Uconv.u8toeuc( [$1.to_i].pack( "U" ) )
それよりメールブリッジが EUC で投げればいいのかな?
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.
posttdiary.rbでは、EUC化してます。が、そのパッチは入れておいた方がいいかなー