JFreeChart生成图片在linux上面中文乱码解决
时间: 2023-09-28 12:05:23 浏览: 144
解决jfreechart中文乱码方案整理.doc
在 Linux 上,JFreeChart 生成的图片中文乱码一般是因为字体缺失或者字体不兼容导致的。解决方法如下:
1. 安装中文字体库
在 Linux 上,可以通过以下命令安装中文字体库:
```
sudo apt-get install fonts-wqy-zenhei
```
这个命令会安装文泉驿正黑字体库,该字体库包含了常用的中文字体。
2. 指定字体为中文字体
在 JFreeChart 中,可以通过以下代码指定字体为中文字体:
```
Font font = new Font("文泉驿正黑", Font.PLAIN, 12);
ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme(
ChartFactory.DEFAULT_BACKGROUND_PAINT,
true, // 显示图例
true, // 显示tooltips
false) // URLs不可点击
.setExtraLargeFont(font)
.setLargeFont(font)
.setRegularFont(font)
.setSmallFont(font));
```
这个代码会将 JFreeChart 的字体设置为文泉驿正黑字体,可以避免中文乱码的问题。
3. 设置系统属性
在有些情况下,需要设置系统属性来指定字体库的位置。可以通过以下代码设置系统属性:
```
System.setProperty("java.awt.fonts", "/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc");
```
这个代码会将字体库位置设置为 /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc,可以根据实际情况修改字体库位置。
通过以上方法,可以解决 JFreeChart 在 Linux 上生成图片中文乱码的问题。
阅读全文