- PR -

jfreechartを用いたグラフの文字化けについて

1
投稿者投稿内容
ひろ
ベテラン
会議室デビュー日: 2003/12/26
投稿数: 97
投稿日時: 2008-10-09 23:23
お世話になります。

OS:windows2000server
Java:JRE 1.6.6
tomcat:Tomcat 5.5

jfreechartを仕様して、jpeg形式のグラフを作成しております。
表題の通りタイトル等に日本語を入力すると「□」等に文字化けしてしまいます。

サイトで調べた結果、Linux環境の解決方法はいくつかある様ですが、
windowsの環境については(皆さんが悩まないせいか)これぞと
いうものが見当たりません。

解決方法をご存知の方、教えていただけないでしょうか。

[ メッセージ編集済み 編集者: ひろ 編集日時 2008-10-10 12:57 ]
ranco
大ベテラン
会議室デビュー日: 2007/11/02
投稿数: 112
投稿日時: 2008-10-16 07:30
> タイトル等に日本語を入力すると
jfreechartにエンコーディングオプションがないなら(たぶんないだろう)、文字をutf-8で入力すべき。
あく坊
会議室デビュー日: 2008/10/16
投稿数: 1
投稿日時: 2008-10-16 13:49
こんにちわ。
今回、初投稿してみました。

参考になるかわかりませんが、
私の場合、SWTの開発を現在初めて行っているのですが、
文字化けに悩まされ、fontconfig.properties などの設定もしてみたのですが、
結局、下記のように直接指定することにしました。

実際のところこれで正しいのかはわかりません。
本当は fontconfig.properties 等での「デフォルトフォント」の指定などが出来ると
良いのでしょうが、どうしても出来ませんでした。結構悩んだのに・・・。
ちなみに私の環境は、

○Windows XP
○Java 1.6.0
○Eclipse 3.4.0
○SWT 3.448
※JREはアプリ起動時に指定するものとし、
 各クライアントにはフォルダコピーのみで動作させる。

です。「デフォルトフォント」みたいなものの指定方法をご存知の方が
いらっしゃいましたら、私も教えてほしいです。

以下、抜粋します。
-------------------------------------------------------------------
JFreeChart chart = ChartFactory.createBarChart(...);
chart.getTitle().setFont(new Font("MSGothic", Font.PLAIN, 28));

LegendTitle lt = chart.getLegend();
lt.setItemFont(new Font("MSGothic", Font.PLAIN, 9));

CategoryPlot plot = chart.getCategoryPlot();

CategoryAxis cAxis = plot.getDomainAxis();
cAxis.setLabelFont(new Font("MSGothic", Font.PLAIN, 12));
cAxis.setTickLabelFont(new Font("MSGothic", Font.PLAIN, 9));

ValueAxis vAxis = plot.getRangeAxis();
vAxis.setLabelFont(new Font("MSGothic", Font.PLAIN, 12));
vAxis.setTickLabelFont(new Font("MSGothic", Font.PLAIN, 9));
-------------------------------------------------------------------
kvip
会議室デビュー日: 2003/05/12
投稿数: 12
投稿日時: 2008-10-21 15:18
こんな感じでいけませんか?

new String(str.getBytes("8859_1"),"UTF-8");
ひろ
ベテラン
会議室デビュー日: 2003/12/26
投稿数: 97
投稿日時: 2008-10-23 12:56
fontconfig.propertiesファイルを修正して
色々試してみましたが、未だ改善されません。

フォントを指定する方法はないのでしょうか。
hamapiyo
会議室デビュー日: 2009/01/15
投稿数: 1
投稿日時: 2009-01-15 13:26
こんにちは
同じ問題で悩んでいましたがJFreeChartのバージョンを1.0.9以前にしたらとりあえず日本語を表示することができました。

環境
○Windows XP_Pro
○Java 1.5.0_12
○Eclipse 3.2.0
1

スキルアップ/キャリアアップ(JOB@IT)