问题描述
使用Java写项目时,有时候会用到awt工具包中得font,如:
new java.awt.Font(“宋体”,Font.BOLD,13); 这在windows下可以正常显示,没有问题,但是项目写好了部署到linux上时却发现本该显示中文的地方都变成了乱码。
原因及解决办法
原因简单的说就是Linux系统中没有安装中文字体,导致jvm在选择字体时无法正常显示,详细原因可参考这篇文章。
知道了问题的根因,解决起来就简单多了。解决办法就是在Linux上下载所需字体库并安装即可。最后附上我的解决过程作参考。
- 由于工作Linux环境不能联网,我从本地win10系统目录C:\Windows\Fonts下将所需要的字体打包上传到linux
- 解压后放到jdk/jre/lib/fonts目录下 ,搞定。