history

青木日記 RSS

<前の日 | この月 | 次の日>

2003-11-07

動作テスト中

本文が化けるよー

追記 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 で投げればいいのかな?

本日のツッコミ(全1件) [ツッコミを入れる]
ただただし (2003-11-07 18:46)

posttdiary.rbでは、EUC化してます。が、そのパッチは入れておいた方がいいかなー

名前
メールアドレス

<前の日 | この月 | 次の日>
2002|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|04|05|06|09|10|
2009|07|
2010|09|

Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved. LIRS