我正在创建一个图表jFreeChart
:
final JFreeChart chart = ChartFactory.createLineChart(
"Line Chart Demo 1", // chart title
"Caf\00E9", // domain axis label
"Voil\00E0", // range axis label
dataset, // data
PlotOrientation.VERTICAL, // orientation
true, // include legend
true, // tooltips
false // urls
);
如您所见,轴中的标签有 unicode 字符:“Caf\00E9”显示“Café”,“Voil\00E0”显示“Voilà”。
当生成此图表的应用程序在“某些”服务器上运行时,它运行良好。对于其他人,它显示问号(“?”)而不是重音字符。
由于它并非一直运行,因此我有强制编码的想法。
问题是:如何强制标签将这些 unicode 字符转换为可读字符?我在文档中找不到正确转换这些字符串的方法。我在网上找到了一些这样的代码
domainAxis.setTickLabelFont(new Font("Lucida Sans Unicode", Font.PLAIN, 12));
我觉得很有趣,但是,如何将它应用于域轴和范围轴标签?
问候。
编辑1:
我想出了如何使用字体“强制”:
Font font = new Font("Tahoma", Font.PLAIN, 12);
categoryplot.getDomainAxis().setLabelFont(font);
但是,输出仍然很奇怪:对于“Caf\00E9”,它显示“Café”。有没有办法将此字符串转换为可读的(Café)?