通过java代码生成图片时,图片上包含中文文字时,在windows环境下正常显示,但是在linux环境中可能出线乱码情况,这是由于您的linux服务器上没有中文字体导致的。
解决方案如下:
【1】.检查您的linux服务器上是否存在您设定的中文字体(若有则可正常显示):切换到"/usr/share/fonts“目录,若无fonts目录则可手动创建fonts文件夹。
【2】.准备好中文字体:在您的windows电脑上能正常显示,说明您电脑有该字体,将字体复制打包到一个文件夹,准备上传到linux服务器的/usr/share/fonts目录下。
windows中字体目录:C:\Windows\winsxs目录下\amd64_microsoft-windows-font-truetype-simfang_31bf3856ad364e35_6.1.7600.16385_none_e417159f3b4eb1b7、\amd64_microsoft-windows-font-truetype-simsun_31bf3856ad364e35_6.1.7600.16385_none_56fe10b1895fd80b等等,看到“amd64_microsoft-windows-font-truetype-sim”文件夹就大概知道什么意思了,宋体、楷体等,将里面的字体文件复制打包。
【3】.上传字体:将准备好的字体一起上传到linux服务器的”/usr/share/fonts“的目录下;示例如图:
【4】.切换到您上传字体目录/usr/share/fonts/winfont,在此目录下执行linux命令“fc-cache -fv”,扫描字体目录并生成字体信息的缓存,然后应用程序就可以"立即"使用这些新安装的字体。
【5】.重启您的应用即可。
感谢网友提供的资料,参考来源:https://blog.csdn.net/typa01_kk/article/details/50615453?utm_source=blogxgwz6