先貼關鍵代碼:
用Graphics2D畫文字到圖片,再生成圖片文件,在本地運行正常,一部署到服務器就不正常,變成了正方框如下圖
解決問題思路:
1、部署服務器的編碼問題。
2、代碼問題。
以上兩點一直排查都沒有問題。真是頭大了浪費一小時直接下班回家。
第二天一早回來直接百度搜索“Graphics2D 畫出來的文字亂碼”,找到這篇 https://blog.csdn.net/w410589502/article/details/72898184
問題竟然是服務器上面沒有這個文字庫,,,參考這篇,把對應的宋體文字庫放到服務器,馬上解決
方法如下:
(1)查找Windows系統(本地)的文字包 查找路勁C:\Windows\Fonts
本地是一個ttc文件,我們需要修改文件后綴,改為ttf。
(2)將ttf文件導入到linux系統java的fonts包中。
注:路徑是你Linux系統java安裝的文件,根據你的安裝目錄查詢
(3)重啟java或者tomcat生效
參考文章:https://blog.csdn.net/w410589502/article/details/72898184
作為一個程序員,一個碼農,思維固化真的是一件可怕的事情。浪費時間!影響效能!本來直接百度一下,10分鍾之內就可以解決好的問題,浪費了一晚!