前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决Linux html生成图片中文乱码

解决Linux html生成图片中文乱码

作者头像
SAnBlog
发布2020-07-21 09:41:41
8.1K0
发布2020-07-21 09:41:41
举报
文章被收录于专栏:SAnBlog

前言

最近搞了一个需求,功能大概是通过html生成图片。功能是挺简单的吧?

本地测试没什么问题,但是发服务器上,发现html生成的imgae中文乱码。

解决过程

首先google了一圈

发现这个框架比较冷萌,几乎没什么可参考的资料,但是可以搜索同功能的框架(Html2Imgage),应该会出现同样的问题,因为本地没问题,所以可以确定是环境问题。

类似功能的框架,也出现了中文乱码问题,但是图片上渲染的中文是框框的形式。

所以我们也可以排除掉乱码问题,因为乱码应该会展示字体,只是我们读不懂,这个框框说明缺少字库!

google一圈发现的却缺少了中文字体库,生成图片缺少什么字体就全部准备好。

像我这里缺少微软雅黑,宋体等。字体可以到系统C:\WINDOWS\Fonts\下获取,记得字体格式是ttf的,win10是没有的。xp win7有,网上说可以把win10的格式ttc改成ttf,我没试过,你们可以尝试下。

解决

前面找到了问题产生的关键,所以我们要开始动手解决它!

这里因为我的服务器已经装好中文字体插件了,因此直接进入正题,没有的可以看下这个文章https://blog.csdn.net/wlwlwlwl015/article/details/51482065

检查是否安装中文字体插件命令

代码语言:javascript
复制
fc-list

如果没报not common说明安装了。

首先我们要把字体上传到服务器

这里我使用的xshell终端,直接使用rz命令上传文件到服务器。(rz提示找不到命令麻烦百度装下插件)

我们公司对服务器直接上传文件做了限制,不能直接rz上传,只能通过scp的方式上传。

(可以直接上传忽略1,2步骤)

scp上传的思路是:

1.首先登陆跳板机,跳板机的~目录下,是允许直接rz上传文件的,我们rz先把字体上传到~目录下。

  1. scp命令格式 scp 文件 目标服务器帐号@目标服务器:路径
  2. 把字体复制到指定目录再使用sudo cp 到目标路径
  3. 路径1:/usr/share/fonts (系统字库路径)把所有字体都复制到该目录下
  4. 路径2:java
    1. 执行命令 echo $JAVA_HOME 找到java安装目录
    2. 复制到安装路径的/jre/lib/fonts/目录下
    3. fonts下创建fallback目录
    4. 复制所有字体到fallback目录下

6.刷新系统字体缓存(重要)

fc-cache

7.查看安装是否成功

fc-list

8.配置tomcat

在tomcat启动脚本中增加配置(vim startenv.sh )

代码语言:javascript
复制
export LANG=en_US.utf-8

重启Tomcat 搞定!!!!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SAnBlog 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 解决过程
  • 解决
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档