服務器用的是Ubuntu6.06,為了便于命令行管理,設置的是全英文環境。今天把生成曲線圖的模塊部署到服務器上時發現中文顯示為方框,從google上搜了好久,都沒有搞出個所以然來。搜到的一些文章講的都是編碼設置的問題,我這都不是這個問題。因為我在開發全過程中都是用的UTF-8碼,沒有道理在我的工作站顯示正常而到服務器上不行了。后來偶爾搜到一篇文章說Solaris下部署的問題,講到可能是jre找不到中文字體的原因。一看,果然是,服務器上的jre中我沒有拷中文字體上去,沒有字體當然不能正常顯示咯。最簡單的解決辦法:在$JAVA_HOME/jre/lib/fonts目錄中建立fallback文件夾,把中文字體放到該文件夾中即可,比如simsun.ttf.
很多由windows上開發的JFreeChart程序部署到linux服務器上的不能正確顯示中文的問題,如果確保了所有的編碼統一:比如都是utf-8碼的前提下,大概就是這個問題,還有從Linux工作站部署到服務器上的也可能出現這個問題。因為裝服務器時一般都不裝圖形界面的,自然中文不會過多考慮,像我就忘裝了。
很多由windows上開發的JFreeChart程序部署到linux服務器上的不能正確顯示中文的問題,如果確保了所有的編碼統一:比如都是utf-8碼的前提下,大概就是這個問題,還有從Linux工作站部署到服務器上的也可能出現這個問題。因為裝服務器時一般都不裝圖形界面的,自然中文不會過多考慮,像我就忘裝了。