前言:当时的情况是,后台用java生成的验证码,再验证码下面绘制了中文字体(宋体),再window上可以显示,但是放在linux系统上就乱码了,中文全部显示的方框形状的;
原因:Linux系统默认只支持英文的,没有安装中文的环境,也没有安装对应的字体,所以安装好中文环境,再安装一下需要的字体就好了;
步骤1:安装中文支持;
#yum -y groupinstall chinese-support安装所有与中文支持相关的包
步骤2:修改系统语言环境配置文件,centos7以上系统默认在 /etc/locale.conf (可使用vi编辑器来编辑)
vi /etc/locale.conf
vi /etc/sysconfig/i18n ( centos7系统一下)
在文件中增加中文支持,默认,LANG="en_US.UTF-8",
添加 LANG="zh_CN.UTF-8" 此时系统即支持中文也支持英文了;
可以使用locale命令查看当前系统字符集:
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
如果不行就重启一下,
步骤3:安装宋体等字体:
可以直接在window上将对应的字体传上去就可以;windows的字体比较多,其字体文件位于 C:\WINDOWS\Fonts ,从其中copy相应的字体到Linux系统的 /usr/share/font/下的文件夹中,以宋体为例:
复制宋体文件simsun.ttc到桌面,并将后缀改为.ttf ,在/usr/share/fonts下新建songti文件夹,将simsun.ttf放到此文件夹下后,可以使用工具FlashFxp或者filezilla,
步骤4:为刚加入的字体设置缓存使之有效:
cd /usr/share/fonts/songti
fc-cache -fv
查看已安装的中文字体;
fc-list :lang-zh
查看本地语言设置
locale
重启一下基本就可以了;