valda です。
私も disp_referrer.rb で同様のエラーが出ています。
yield するときに内部エンコーディングに戻してやる必要があるんじゃないかと考えて、
以下のようなパッチを当てて凌いでいますが、これで正しいのかちょっと自信が無いです。
--- plugin/05referer.rb (リビジョン 3437)
+++ plugin/05referer.rb (作業コピー)
@@ -151,7 +151,7 @@
fh.gets # read magic
fh.read.split( /\r?\n\.\r?\n/ ).each do |l|
headers, body = ::TDiary::parse_tdiary( l )
- yield( headers, body )
+ yield( headers, @conf.to_native(body) )
end
end
rescue Errno::ENOENT
2009/04/29 13:51 KAYA Satoshi <kayakaya@...>:
> kayakayaです。
>
> 2009/4/28 TADA Tadashi <t@...>:
>> ただただしです。
>
>> 実はゆうべ、うちの日記でも同じエラーが出たので、'rb'にして
>> みたらピタリとおさましました。すばらしい。commit済みなの
>> で、エラー出てる人はあげてみてください。
>
> 'rb'にするとエラーになりました。うーむ、ですね。
>
> * 最新の日記を日毎表示させる
> * 最新の日記を編集する
>
> とエラーになります。
>
> 500 Internal Server Error
> incompatible character encodings: ASCII-8BIT and UTF-8
> (Encoding::CompatibilityError)
>
> (plugin/disp_referrer.rb):1067:in `block in search_to_long_html'
> (plugin/disp_referrer.rb):1061:in `each'
> (plugin/disp_referrer.rb):1061:in `search_to_long_html'
> (plugin/disp_referrer.rb):1014:in `to_long_html'
> (plugin/disp_referrer.rb):1461:in `referer_of_today_long'
> (TDiary::Plugin#eval_src):92:in `block in eval_src'
>
> disp_referererプラグインを無効化しても同じ。
>
> 500 Internal Server Error
>
> incompatible character encodings: ASCII-8BIT and UTF-8
> (Encoding::CompatibilityError)
>
> (plugin/05referer.rb):251:in `block in referer_of_today_long'
> (plugin/05referer.rb):87:in `block in each_referer'
>
> * ruby1.9.1-p0 (独自ビルド)
> * FreeBSD 7.1-RELEASE-p4
> * r3435
>
> の環境です。
> 前向きではないですが、
> 仕方なくr3435からFile::open( file , 'rb') の'rb'を取っ払って動かしてます。
>
> volatile.tdrは保全してますので、こそっとお送りできますので。
--
YAMAGUCHI Seiji <valda@...>
http://underscore.jp
|