報表管理軟體FineReport中Linux導出或列印亂碼

在Linux環境下,會發現客戶端預覽是正常的,但是在導出或列印時會出現亂碼,或者一些特殊符號如人民幣符號"¥",在導出或列印時發現變成了美元符號"$",為什麼會出現這種問題呢?下面就通過報表管理軟體FineReport來簡單介紹一下。

工具/原料

報表管理軟體FineReport7.1.1
大小:148.2M 適用平台:windows/linux

方法/步驟

預覽正常原因

客戶端瀏覽器訪問linux伺服器上的報表時,伺服器將結果返回給瀏覽器,瀏覽器畫結果,由於大部分客戶端都是windows系統,所以一般都存在相應的字體所以不太會亂碼。

導出或列印出現問題的原因

在對模板進行導出或列印時,請求會發送到伺服器,由伺服器處理,此時伺服器就需要相應的字體才能夠畫出結果,此時由於Linux上面可能找不到對應的字體,因此就會出現亂碼現象或者"¥"符號變成"$"符號。

解決方案

在Windows系統中下的C:\WINDOWS\Fonts\找到相應的字體,將其拷貝到Linux系統下報表伺服器使用的JDK下JRE的\lib\fonts目錄下,重啟伺服器,即可解決導出和列印亂碼問題。

註:若上述方法無法解決問題,則需要在對應的lib\font目錄下新建fallback文件夾,然後將字體拷貝進去,重啟伺服器即可。

如果更換字體包之後,¥顯示成了$,在linux下面將字體的默認值設置為中文即可。

原作者:FineReport

本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場