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

相關文章
相關標籤/搜索