`
cjp1989
  • 浏览: 162595 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

FusionCharts中文乱码

阅读更多

 

   在使用FusionCharts过程中,需要显示中文汉字,经常会遇到乱码情况,1.横纵坐标的乱码,2.点击图形传值乱码。下面贴出解决方案。

    1.设置页面编码:UTF-8 可以防止横纵坐标中文汉字乱码

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
...
</html>

  

   2.添加图形的点击事件:设置  <graph   unescapeLinks="0"> 解决链接中传中文乱码

xml:    link="JavaScript:showName('Java开发者')"

js:       function showName(name){
		alert(name); //会出现乱码
	}

     

    3.使用参考:1.生成xml格式文本流,可以采用拼接,也可以采用dom4j生成

      

String msg = "";
msg="<?xml version=1.0 encoding=GBK?>";
msg+="<graph caption='人物年龄列表' xAxisName='人名' yAxisName='年龄' " +"showNames='1' decimalPrecision='0' formatNumberScale='0'  baseFont='宋体' baseFontSize='14' unescapeLinks='0'>";
msg+="<set name='小明' value='21' color='"+getRandomColor()+"'  link='JavaScript:showName('小明')'  />";
msg+="<set name='小强' value='25' color='"+getRandomColor()+"'  link='JavaScript:showName('小强')' />";
msg+="<set name='大力丸' value='47' color='"+getRandomColor()+"' link='JavaScript:showName('大力丸')' />";
msg+="<set name='主义者' value='85' color='"+getRandomColor()+"'  link='JavaScript:showName('主义者')'/>";
msg+="<set name='追梦' value='37' color='"+getRandomColor()+"' link='JavaScript:showName('追梦')' />";
msg+="</graph>";

     建议采用dom4j组件生成xml文件

    

public String getXMLString(List list){
		String xmlstr="";
		Document document = DocumentHelper.createDocument();
		Element graph = document.addElement("graph");
		graph.addAttribute("caption", "人物年龄列表");
		graph.addAttribute("xAxisName", "人名");
		graph.addAttribute("yAxisName", "年龄");
		graph.addAttribute("showNames", "1");
		graph.addAttribute("desimalPrecision", "0");
		graph.addAttribute("formatNumberScale", "0");
		graph.addAttribute("baseFont", "宋体");
		graph.addAttribute("baseFontSize", "14");
		graph.addAttribute("unescapeLinks", "0");
		for(int i=0;i<list.size();i++){
			Element set = graph.addElement("set");
			Person p = list.get(i);
			set.addAttribute("name", p.getname());
			set.addAttribute("value", p.getage());
			set.addAttribute("color", getRandomColor());
			set.addAttribute("link", "JavaScript:showName('"+p.getname()+"')");
		}
		xmlstr = generateXML(document);
		return xmlstr;
	}
       /**
	 * 通过dom生成xml文件
	 */
	public String generateXML(Document document) {

		String xmlDoc = "";
		StringWriter sw = new StringWriter();
		XMLWriter writer;
		OutputFormat format = OutputFormat.createPrettyPrint();
		format.setEncoding("GBK");

		writer = new XMLWriter(sw, format);
		try {
			writer.write(document);
			xmlDoc = sw.toString();
			URLEncoder.encode(xmlDoc, "utf-8");
		} catch (IOException e) {
			System.out.println("生成XML字符串发生异常");
			e.printStackTrace();
		} finally {
			try {
				writer.close();
				sw.close();
			} catch (IOException e) {
				System.out.println("关闭XML读写发生异常");
				e.printStackTrace();
			}
		}
		return xmlDoc;
	}

     /**
	 * 随即获得颜色代码
	 */
	public String getRandomColor(){
		//颜色代码位数6
		int colorLength=6;
		//颜色代码组数
		char[] codeSequence={'A','B','C','D','E','F', '0','1','2','3','4','5','6','7','8','9'};
		StringBuffer str=new StringBuffer();
		Random random=new Random();
		for(int i=0;i<colorLength;i++){
			str.append(codeSequence[random.nextInt(16)]);
		}
		return str.toString();
        }

      

    4.页面显示

    

<script src="<s:url value="js/FusionCharts.js"/>" type="text/javascript" charset="utf-8"></script>

<script type="text/javascript" charset="UTF-8">
	$(document).ready(function(){
		$.ajax({
			type:'post',
			url:'doPersonCharts.action',
			data:'',
			success:function(msg){
              //最后的1.表示link可以显示,鼠标有手势          
 var chart=new FusionCharts("FusionCharts/Column3D.swf","chartId1","900","480","0","1");
				chart.setDataXML(msg);
				chart.render(personForm);
			},
			error:function(){
				alert("加载失败,请重新加载...");
			}
		});
	});
	function showName(name){
		alert(name);
	}
	
</script>

<div align="center">
        <table width="60%" border="0"  name="personForm" id="personForm"></table>
 </div>

    

 

 

 

 

7
1
分享到:
评论
1 楼 yangfande362 2014-03-30  
xiexie楼主整理。我的问题是【添加图形的点击事件:设置  <graph   unescapeLinks="0"> 解决链接中传中文乱码】。按楼主的说明,在option里添加属性"unescapeLinks":"0"就OK了

相关推荐

    fusioncharts 点击柱子链接,中文乱码

    在使用FusionCharts图表库进行数据可视化时,可能会遇到一个常见问题:当用户点击图表中的柱子(或者条形图)触发链接时,链接中的中文字符会出现乱码现象。该问题通常出现在设置柱子属性的`link`参数中包含中文或...

    快速解决FusionCharts联动的中文乱码问题

    fusioncharts有setDataXML,setDataURL 这两个方法是用来设置数据的.但是会有乱码问题(可能出现在AJAX情况),具体使用过的童鞋应该明白. 具体细节不详细说明了. 处理办法. 如果你Ajax请求的返回内容乱码,就直接使用...

    fusionCharts完美破解版

    解决中文乱码Demo Area2D.swf Bar2D.swf Bubble.swf Column2D.swf Column3D.swf Doughnut2d.swf Doughnut3D.swf FCExporter.swf Funnel.swf InverseMSArea.swf InverseMSColumn2D.swf InverseMSLine.swf Line.swf ...

    FusionCharts3.1 最全破解版

    4、收集网上一些FusionCHarts的使用问题,如中文乱码的解决办法; 5、包括了官方的FusionCharts.js脚本文件,拿去即可使用了; 6、最新独家修改的官方的DEMO例子,直接可以在本地打开哦。 不了解FusionCharts的人...

    资料较全的 Flash图表控件 FusionCharts

    内容包括 FusionCharts破解去连接版,FusionCharts 3.1 破解版,FusionCharts配置文件,FusionChartsFree中文开发指南电子书,以及如何消除中文乱码的方法文章。内容很全。

    FusionCharts 3.1破解版,破解工具,中文指南,官方DEMO,官文脚本

    4、收集网上一些FusionCHarts的使用问题,如中文乱码的解决办法; 5、包括了官方的FusionCharts.js脚本文件,拿去即可使用了,呵呵; 6、最新独家修改的官方的DEMO例子,直接可以在本地打开哦。 不了解FusionCharts...

    FusionCharts特点及技巧

    下面是一个使用FusionCharts的简单示例,展示了如何通过Java Web应用生成动态图表,并处理中文乱码问题。 ```jsp ;charset=UTF-8" pageEncoding="UTF-8"%&gt; String area = request.getParameter("area"); if ...

    自己整理的FusionCharts(支持中文)

    在中文环境下,FusionCharts提供了良好的本地化支持,使得X轴、Y轴以及图表的数据标签都能够显示为中文,这对于中文用户来说是非常友好的。本文将深入探讨如何利用FusionCharts在JavaScript中实现在图表中显示中文,...

    FusionCharts图表控件中文版使用手册.doc

    《FusionCharts图表控件中文版使用手册》是针对初学者设计的一份详细教程,旨在帮助用户快速掌握这款强大的图表工具。FusionCharts是一款流行的JavaScript图表库,它能够以丰富的互动性和美观的视觉效果呈现数据。 ...

    FusionCharts图详细参数

    对于中文显示问题,FusionCharts支持UTF-8编码,确保中文字符在XML数据文件中正确显示。如果遇到乱码问题,检查XML文件的编码设置和服务器的输出编码是否一致。 **总结** FusionCharts凭借其全面的图表类型、丰富...

    FusionCharts图表控件中文版使用手册整理.pdf

    对于中文编码问题,FusionCharts提供了解决方案,确保在XML数据文件中正确显示中文字符,避免乱码。这通常涉及到设置正确的字符编码,例如UTF-8,并在JavaScript或服务器端代码中处理编码转换。 除了上述核心属性,...

    FusionCharts图表控件中文版使用手册定义.pdf

    8. 中文编码解决方法:解决在XML数据文件中输入中文字符时可能出现的乱码问题,通常需要确保文件编码为UTF-8,并正确设置XML声明。 四、FusionCharts详细属性: 1. 边框及整个背景的属性:控制图表的边框样式、颜色...

    FusionCharts使用之保存图片.doc

    值得注意的是,对于中文支持存在局限,可能会出现乱码问题。 - `exportFileName='我自定义的文件名'`:自定义导出文件的名称,便于识别和管理。 - `exportAtClient='0'`:确定是否仅在客户端执行导出操作,此处设置...

    JSP FusionCharts Free显示图表 具体实现

    此外,为了在页面上显示图表,还需要设置页面的字符编码,确保中文显示不会出现乱码: ```jsp ``` 将上述所有代码整合在一起,就构成了一个完整的JSP页面,该页面能够在Web浏览器中显示一个三维柱状图。通过这种...

    fusionwidgets v3.1中文开发文档

    - **中文乱码解决办法**:针对中文环境下的乱码问题提供了解决方案,确保中文内容的正确显示。 以上内容涵盖了FusionWidgets V3.1中文开发文档的核心知识点,有助于开发者更好地理解和应用该工具。

    Tomcat调优配置技巧[参考].pdf

    七、解决中文乱码问题 确保在`server.xml`的`&lt;Connector&gt;`元素中添加`URIEncoding="UTF-8"`属性,并在Web应用的`web.xml`中设置字符编码过滤器。 八、修复中文文件下载问题 确保文件名编码正确,避免在传输过程中...

    PowerCharts 破解版本

    PowerCharts 破解版本,亲测可用。 官方版左上角会有logo ,有些提供者提供的SWF文,中文会有乱码。这个是从国外网站中找到的,亲测无官方logo,中文不会乱码。

    JSP开发教程和源码收藏

    《struts框架的验证例子》和《struts2中中文乱码处理》提供了如何使用Struts进行表单验证和解决中文乱码问题的具体实践。 - **Hibernate**:Hibernate是一个强大的对象关系映射(ORM)工具,简化了Java应用程序与...

Global site tag (gtag.js) - Google Analytics