解决Linux系统生成文件乱码 (安装中文字体)

在本机测试环境里运行正常,可以正确生成中文字体,没有任何问题。但是在生产环境(内部服务器)运行的时候出现一个很诡异的问题,看下面这张图

生成的文件里面只有数字和字母,其他的都是框框,生成的文档乱码了。

查看编码格式,发现本机测试和生产服务器都是zh-cn UTF-8

因此排除了和编码的问题,后面我就自己看了生成的文件,就是上面那张图

如果是真的乱码,就不会是这么工工整整的显示,数字和字母为啥能显示呢?,这个文件以及服务器中是有中文汉字的,说明服务器上是支持中文汉字的。

后面排查下来是生产服务器没有中文字体

而测试环境是有中文字体的

给Linux系统安装字体步骤

第一步找一个中文字体

Mac用户:command+空格:字体册随便找一个中文汉字

把这个字体拿出来,放桌面备用

Windows用户:进入电脑C:/Windows/Fonts目录:可以看到字体册的所有字体

安装中文字体

在centos上和ubuntu上安装字体方法都是一样的,我们只需要进行相关的操作即可。
把MSYH.TTF复制到/usr/share/fonts/目录下,使用rz,Xftp等方式都可以:

查看服务器是否有:/usr/share/fonts这个目录,如果没有,就创建

创建字体目录

mkdir -p /usr/share/fonts

引入字体文件

将前面准备好的字体放到/usr/share/fonts这个目录

安装Linux字体程序

yum -y install fontconfig

查看已安装的字体:fc-list

查看已安装的中文字体:fc-list :lang=zh

进入fonts目录

cd /usr/share/fonts/

安装字体索引

yum install mkfontscale

生成字体索引

执行下面的命令

Mkfontscale

接着执行

Mkfontdir

更新字体缓存

fc-cache -fv

如图:

 

至此,字体已经安装完毕。
现在我们再来验证字体是否安装成功,使用如下命令:

fc-list :lang=zh

可以查看到刚刚安装的字体

如图所示中文字体已经安装成功!

感谢大家的阅读,觉得有所帮助的朋友点点关注点点赞!

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蜜蜂vs码农

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值