FusionCharts Free解决setDataURL中文乱码

最近在用FusionCharts Free做一个图表的项目,在是用setDataURL时遇到了中文乱码。

编码什么的都设置了UTF-8,可就是不显示,郁闷啊

然后再看官方UTF-8示例的时候发现动态生成的XML需要加上UTF-8 Bom,

示例在\FusionChartsFree\Code\JSP\UTF8Example\目录下。

于是乎。。。

 

 1 Document doc = DocumentHelper.createDocument();
 2 Element root = doc.addElement("graph");
 3 root.addAttribute("showNames", "1");
 4 root.addAttribute("decimalPrecision", "0");
 5 Element set = root.addElement("set");
 6 set.addAttribute("name", "电梯");
 7 set.addAttribute("value", "134");
 8 Element set1 = root.addElement("set");
 9 set1.addAttribute("name", "空调");
10 set1.addAttribute("value", "122");
11 HttpServletResponse response = ServletActionContext.getResponse();
12 PrintWriter out = response.getWriter();
13 response.setContentType("text/xml;charset=UTF-8");
14 System.out.println(doc.asXML());
15 //utf-8标识
16 byte[] utf8Bom =  new byte[]{(byte) 0xef, (byte) 0xbb, (byte) 0xbf};
17 String utf8BomStr = new String(utf8Bom, "UTF-8");
18 //在xml前加上utf-8标识
19 String xml = utf8BomStr + doc.asXML();
20 out.write(xml);

 

终于不乱吗了,哇哈哈。。

 

 

posted @ 2013-09-06 10:01  cyberghost  阅读(419)  评论(0编辑  收藏  举报