關(guān)于ChartDirector的中文問(wèn)題完美解決
ChartDirector是一個(gè)圖表工具,類(lèi)似JFreeChart,只是它是商業(yè)軟件。那為何還要用它?因?yàn)樗?huà)出來(lái)的圖表比JFreeChart精細(xì),好看得多。這好像是一個(gè)香港公司開(kāi)發(fā)的?!http://www.advsofteng.com/它文檔上說(shuō)了,它內(nèi)部采用UNICODE編碼。所以應(yīng)該不會(huì)有中文[非英文體系]亂碼問(wèn)題。但是實(shí)際好像還是會(huì)出現(xiàn)亂碼,網(wǎng)上搜索了一通大多解決的不是很徹底,根據(jù)自己試驗(yàn)解決如下:
1、JSP中增加:
<%@ page contentType="text/html; charset=GB2312"%>
//此處的charset要注意設(shè)置,也可設(shè)置成其他支持中文的編碼,然后注意保存的jsp文件要保存成相應(yīng)編碼
//很多亂碼皆由于保存的編碼和這里聲明的編碼不一致導(dǎo)致[用EmEditor等工具保存時(shí)可以選擇編碼]
//這里不聲明默認(rèn)采用ISO-8859-1編碼讀取,所以有網(wǎng)友說(shuō)需要將中文編碼為ISO-8859-1即:
//new String("中文".getBytes("ISO-8859-1"))
//此處的charset要注意設(shè)置,也可設(shè)置成其他支持中文的編碼,然后注意保存的jsp文件要保存成相應(yīng)編碼
//很多亂碼皆由于保存的編碼和這里聲明的編碼不一致導(dǎo)致[用EmEditor等工具保存時(shí)可以選擇編碼]
//這里不聲明默認(rèn)采用ISO-8859-1編碼讀取,所以有網(wǎng)友說(shuō)需要將中文編碼為ISO-8859-1即:
//new String("中文".getBytes("ISO-8859-1"))
2、設(shè)置Chart默認(rèn)字體:
BaseChart.setDefaultFonts("simsun.ttc","simsun.ttc","simsun.ttc","simsun.ttc");
如果在非windows系統(tǒng)下使用,可以拷貝windows系統(tǒng)下的simsun.ttc到classes路徑下,重啟服務(wù)器即可顯示中文
然后其他的一些字體大小等都要一個(gè)個(gè)設(shè)置了,因?yàn)槟J(rèn)英文字體大小顯示中文不好看
這樣就可以很完美顯示中文了。比起JFreeChart來(lái)好多了,JFreeChart雖然也可以解決中文顯示問(wèn)題,但是中文字體發(fā)虛,好像目前無(wú)法解決。
posted on 2008-04-15 20:06 Vincent.Chen 閱讀(5412) 評(píng)論(5) 編輯 收藏 所屬分類(lèi): Java