linux中安装中文字体--解决java使用Graphics2D等生成图片、二维码以及使用POI转换生成图片中中文乱码问题

linux中安装中文字体–解决java使用Graphics2D等生成图片、二维码以及使用POI转换生成图片中中文乱码问题

很多情况是在windows本地调试没有问题,但是在linux服务器上会出现中文乱码或不显示的问题,我遇到多次都是linux上没有添加中文字体的原因

首先,linux系统的字体文件放在/usr/share/fonts/目录以及用户的~/.fonts和 ~/.local/share/fonts目录下,第一个位置为系统所用用户共享,将字体安装到这个目录需要管理员权限;后面两个位置则为当前登陆用户所有,安装字体到这个目录不需要管理员权限。
其次,要看你们代码里使用的是哪种字体,不管是java Graphics2D还是POI里都会指定相应的字体格式,我这里以微软雅黑为例,因为我们用的就是这个字体,你们根据项目里设置的字体格式来安装相应的文件。字体文件都是ttf结尾,相应的字体需要自行搜索下载,我这里只提供微软雅黑 也就是msyh.ttf(普通)文件 、 msyhbd.ttf(加粗)
下载地址 http://www.youxiaxiazai.com/soft/133/8233.html#dzhi 或者自行搜索
讲msyh.ttf文件rz命令上传到/usr/share/fonts/{custom} ,custom是变量看你们的目录是什么 没有的话需要mkdir一下 名字无所谓
1.安装到 /usr/share/fonts/ (需要root权限)
cd /usr/share/fonts/custom/
rz 上传msyh.ttf
//sudo mkdir -p /usr/share/fonts/custom
sudo chmod 744 /usr/share/fonts/custom/msyh.ttf
sudo mkfontscale #生成核心字体信息 (如果提示 mkfontscale: command not found,需自行安装 yum install mkfontscale )
sudo mkfontdir
sudo fc-cache -fv (如果提示 fc-cache: command not found,则需要安装 yum install fontconfig )

最后最好reboot一下,如果条件不允许 那上面的操作其实也是有效的

2.安装到 ~/.fonts/ (安装到 ~/.local/share/fonts 原理相同) 跟1的步骤一样,文件换成 ~/.fonts/ 和 ~/.local/share/fonts 即可

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值