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

[kagemai-users:0461] Re: Debian で統計グラフの凡例が文字化けする



佐々木です。お世話になっております。


<uk6q02v06.wl@xxxxxxxxxxxxxxxxxx> の、
   "[kagemai-users:0460] Re: Debian  で統計グラフの凡例が文字化けする" において、
   "FUKUOKA Tomoyuki <fukuoka@xxxxxxxxxxxxx>"さんは書きました:

> | 上記のエラーメッセージより、iconv が入っていないと判断し、
> | libiconv-ruby1.8 を apt-get install しました。
> | その後、gd_charset を UTF-8 に指定すると、文字化けは起きなく
> | なりました。
> 
> とりあえず解決したようで、よかったです。
> 
> 現在の影舞では iconv の拡張ライブラリがなくてもエラーには
> ならないようになっているんですが、gd_charset に UTF-8 が
> 指定されていてもエラーにしていないのが問題をわかりにくく
> していましたね。
> 
> ちなみに、iconv はグラフ生成以外では、日本語ファイル名の添付
> ファイルをダウンロードするときに Web ブラウザに応じて文字コード
> を変換したり、RSS を UTF-8 で生成したりするのに使われます。
> # iconv がなければ文字コード変換をせずに動きます。
> 

解説ありがとうございます。
0.8.5 で追加された RSS 機能にも iconv が使われているんですね。
まだ私の環境は 0.8.4 のままですが、アップグレードしたら
試してみようと思います。

>  
> | テスト CGI を私の環境で試してみましたが、-DJISX0208 の有無によらず、
> | result-utf8.png と同じ結果(EUC-JP, JIS, SJIS が文字化け)と
> | なりました。
> (snip) 
> | 正しい挙動は
> | ・-DJISX0208 オプション無しの場合、UTF-8 を指定すると文字化けせず、
> |   EUC-JP を指定すると文字化けする
> | ・-DJISX0208 オプション有りの場合、EUC-JP を指定すると文字化けせず、
> |   UTF-8 を指定すると文字化けする
> | と思ってるのですが、この解釈で合ってますでしょうか?
> 
> あっています。
> 
> 挙動からは、どこかにあらかじめ存在していた (-DJISX0208 なしの) GD を
> Ruby/GD は使用していて、-DJISX0208 をつけてコンパイルした GD は使われ
> ていないような気がします。
> 
> Ruby/GD の GD.so を ldd でみてみると、期待している libgd.so を
> 使っているかわかると思います。
> 

試してみました。次のような結果でした。

[sasaki@hostname ruby-GD-0.7.4]$ ldd GD.so | grep libgd.so
        libgd.so.2 => /usr/lib/libgd.so.2 (0x400fa000)
[sasaki@hostname ruby-GD-0.7.4]$ ls -l /usr/lib/libgd.so.2
lrwxrwxrwx  1 root root 15 2004-12-26 14:34 /usr/lib/libgd.so.2 -> libgd.so.2.0.33

libgd.so.2.0.33 へのシンボリックリンクになっていました。
ご推測の通り、何かのパッケージを apt-get install した時に GD のモジュールが
インストールされて、そちらを使っていたのかな?という気がします。

> また、テストCGIでの画像の生成は gdtest.rb で行っているのですが、
> gdtest.rb は単体でも動作するので、 CGI 環境ではなく単体で動かして
> みれば、CGI での問題かどうか(<BTS:186>と同じようなことが起こって
> いるのかどうか)を切り分けれます。
> 
>   $ ruby gdtest.rb > result.png
> 
> # gdtest.rb 中の font_name を編集してやる必要があります。
> 

サクッと試してみたら、CGI と同じ出力結果でした。
なので CGI での問題ではないと、私は思っています。

> まあ、文字化けは解決したようなので、あまり気にしなくても
> いいかもしれませんが :-)
> 

そうですね。文字化けは解決したので、この運用で進めることにします。


丁寧なご回答、大変ありがとうございました。
今後ともよろしくお願い致します。

---------------------------------
佐々木大輔 (Daisuke Sasaki)
sasaki@xxxxxxxxxxxxxxxxxxxxxx