最近呢,需要做一个node.js上线,临近最后上线遇到无法调用到字体,中文显示乱码,我们来看一下怎么解决

Centos(linux)添加字体方法介绍

centos或者其他Linux系统解决方案类似

1、首先打开win10/7”控制面板”->”字体”中,将自己要的字体复制出来。

多个字体可以打成zip或者tar包,上传到Linux系统中。
找到Linux字体存放中文字体位置,一般在/usr/share/fonts/zh_CN/ 下面,如果没有直接创建即可。

#因为我是在容器中运行的,所以需要先上传到Linux再到docker 运行的容器中

rz zh_CN.zip       #上传到Linux本地

docker cp zh_CN.zip cd02effbd8d8:/usr/share/fonts/zh_CN/  #把文件拷贝到容器中
docker exec -it cd0 /bin/bash         #进入容器
mkdir /usr/share/fonts/zh_CN/micro -p #创建目录
cd /usr/share/fonts/zh_CN/micro

2、解压并授权

unzip zh_CN.zip
chmod 775 /usr/share/fonts/zh_CN/

3、赋权并建立缓存。

chmod 775 /usr/share/fonts/zh_CN/micro

#建立缓存
cd /usr/share/fonts/   
mkfontscale     #如果容器中没有该命令也没关系
mkfontdir       #如果容器中没有该命令也没关系
fc-cache -fv    #提示后系统执行成功,问题解决,应用可以正常调到字体

最后,如果是docker或者K8S环境下记得保存一下镜像:

 docker ps #查看需要打包的容器
 docker commit  cd02effbd8d8 node-server:zh_CN  #打包成镜像供后续调用

问题解决~