awt.font在centos上中文亂碼的問題

如今有需求生成一個二維碼,而且有一段文本說明,可是使用awt.font來生成中文時,一直存在亂碼的問題。網上的解決辦法有幾種,可是在centos上親測有用的就是以下的方法。java

Java代碼以下:new java.awt.Font("宋體",Font.BOLD,13);windows

1,從windows上拷貝simsun.ttc宋體文件(有的說改後綴爲ttf,沒有試),拷貝到/usr/share/fonts下,能夠新建一個文件夾,好比我建立的是chinese,即路徑爲/user/share/fonts/chinesecentos

2,上傳simsun.ttc到/usr/share/fonts/chinese下,執行chmod 777 simsun.ttc (修改執行權限)api

3,在/usr/share/fonts/chinese路徑下執行fc-cache -fv,安裝字體到系統tomcat

4,執行fc-list可以看到已經安裝過的字體,可以看到安裝的字體。服務器

5,重啓tomcat便可。ide


以前的思路一直是想使用java.awt.Font的public static Font createFont(int fontFormat,File fontFile) 方法來作,即傳入一個ttf文件(把simsun.ttc更名爲simsun.ttf,這個地方必定要求是ttf後綴否則會報錯),由於這樣畢竟是api代碼層級的實現,不用改動服務器環境,可是一直不成功,最後只能改服務器配置。字體


另外網上不少說的在$JAVA_HOME/jre/lib/fonts建立fallback的方式,一直嘗試也沒有成功。spa

由於迭代催得緊,也沒有時間細細研究了,使用了比較簡單的辦法完成了,以後再考慮。.net

參考:http://blog.csdn.net/typa01_kk/article/details/50615453

相關文章
相關標籤/搜索