请教一下,我用jsp 生成的简单二维柱状图,但是图片旁边的中文显示出来是一个一个小方框,是怎么回事啊。

来源:百度知道 编辑:UC知道 时间:2024/06/26 02:33:41
这个jsp的代码
<%@ page language="java" contentType="text/html;charset=gb2312" %>
<%@ page import="beans.chart.*,java.io.*" %>
<%
String filename = BarChart2D.generateBarChart(session,new PrintWriter(out));
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body leftmargin=10 topmargin=10>
<img src="<%= graphURL%>" width=500 height=300 border=0 >
</body>
</html>

JFreeChart图片出现乱码问题。
大多都是字体设置的问题,如果设置好字体就不会出现问题了。
但是jar包的版本也会导致问题的出现。比如:系统使用的版本是jfreechart-1.0.12.jar,替换为jfreechart-1.0.10.jar则可以正常显示。(一般在10以上的都有可能出现这个问题)

那怎么解决新版本的 jfreechart-1.0.12.jar 包乱码问题呢?可以通过设置标题,横纵轴的字体解决:

写道
Font font=new Font("微软雅黑",Font.BOLD,18);//测试是可以的
......
chart.getTitle().setFont(font);

NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setLabelFont(font);

CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setLabelFont(font);

加上 试试 request.setCharacterEncoding("gb2312");

中文乱码