FusionChart setDataURL问题

南楼画角 提交于 2020-05-08 23:42:58

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

原因:xml文件不可用,可能是中文编码的问题。(

当前xx.xml文件缺乏BOM标记(Byte Order Mark

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

在此一定是gb2312或者gbk编码,否则会出现中文乱码问题。

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

即:

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

  String utf8BomStr = "";

  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");

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!