Linux 伺服器匯出文字重疊。
匯出 pdf 時圖表裏的中文變成框框。
插入斜線亂碼,斜線為方框。
伺服器缺失儀表板使用的字體。
伺服器安裝缺失的字體。
注:叢集環境下,需要在所有節點安裝缺失的字體。
檢查系統中是否有字體包zh_cn.UTF-8,查看系統預設語言是否為zh_cn.UTF-8:
locale -a | grep zh_CN
若不是,安裝中文語言包以及設定系統預設語言的方法請參見:Linux 系統安裝中文語言包
儀表板中亂碼的部分用的什麼字體,為缺失字體。
假設分組表匯出後,表頭亂碼,表頭用的為黑體,則缺少黑體字體包。
1)使用fc-list查看字體庫,如下圖所示:
注:若提示:-bash: fc-list: command not found,使用 yum -y install fontconfig語句後,再次查看字體庫。
2)在/usr/share/fonts目錄下建立一個目錄chinese,把本地 Windows 系統C:\Windows\Fonts中的字體,上傳到/usr/share/fonts/chinese目錄下。
例如上傳「黑體標準」字體,如下圖所示:
3)修改 chinese 資料夾權限,如下圖所示:
chmod -R 755 /usr/share/fonts/chinese
4)執行下面命令:
cd /usr/share/fonts/chinesemkfontscale #字體擴展mkfontdir #新增字體目錄fc-cache -fv #重新整理快取,或者執行fc-cache /usr/share/fonts/chinese/fc-list #查看系統字體
若執行mkfontscale,提示mkfontscale: command not found,需安裝:yum install mkfontscale。
執行命令:fc-list | grep simhei.ttf,查看是否安裝成功:
字體安裝好後,重啓工程,預覽、匯出時就會顯示處對應的字體。
應答伺服器C:\Windows\Fonts 資料夾中沒有對應字體後,將下載的字體匯入到 C:\Windows\Fonts 資料夾中,或者直接在系統的字體設定中安裝。
若系統中沒有黑體,直接在 C:\Windows\Fonts 資料夾中匯入字體。如下圖所示:
字體安裝好後,重啓工程,預覽、匯出、列印時就會顯示處對應的字體。
注:字體安裝好後,若遇到讀取不到字體的情況,可以將字體copy到伺服器 JDK_HOME/jre/lib/fonts 目錄下,重啓工程所在的容器。