FusionChart setDataURL问题

      使用FusionChart的setDataURL填充图表数据的时候很容易出现"invalid data xml"的错误。服务器

缘由:xml文件不可用,多是中文编码的问题。(编码

当前xx.xml文件缺少BOM标记(Byte Order Markurl

1,若是是xx.xml文件则加上<?xml version="1.0" encoding="gb2312"?>spa

在此必定是gb2312或者gbk编码,不然会出现中文乱码问题。orm

2,若是是指向后台地址好比说xx.action 等若还有?xxx=xx&xx=xx等参数将url编码js采用 escape(url);服务器端建立的xml写入response时指定编码gb2312/gbk避免中文乱码或者指定utf-8则必须加上BOM标记xml

即:utf-8

byte[] utf8Bom = new byte[] { (byte) 0xef, (byte) 0xbb, (byte) 0xbf };it

  String utf8BomStr = "";io

  try {后台

  utf8BomStr = new String(utf8Bom, "UTF-8");

  } catch (UnsupportedEncodingException e) {

  e.printStackTrace();

  }

xml = utf8BomStr + "<?xml version='1.0' encoding='UTF-8'?>" + xml;

3,无数据时FusionChart显示 "no data disaply" 提示,如何修改成中文方法以下:

var chart1 = new FusionCharts("Column2D.swf?ChartNoDataText=中文提示", "ChId1", "300", "250", "0", "0");

相关文章
相关标签/搜索