CentOS 7.4 java验证码乱码的问题
新服务器配置发布网站
配置后程序顺利启动
在登录时发现验证码无法识别
显示出了图片,但是字是乱码
初步估计应该是字体问题
ssh登录服务器查看默认字体
#fc-match
msam10.ttf: "msam10" "LyX"
确认是字体问题
解决字体问题
1. 从windows系统拷贝 微软雅黑字体
打开文件夹 C:WindowsFonts
选中微软雅黑字体,复制
拷贝到别的文件夹
2. 将字体文件上传到centos服务器
#mkdir /usr/local/font/default
将字体文件上传到default目录中
3.更新字体缓存
#fc-cache
4.再次查看默认字体
#fc-match
msyh.ttc: "Microsoft YaHei" "Normal"
字体正确
5.重启tomcat
#systemctl restart tomcat
重启之后 验证码显示正确
参考
1. widonws下载字体文件到Linux
windows的字体比较多,其字体文件位于 C:\WINDOWS\Fonts 。 从其中copy相应的字体到Linux系统的 /usr/share/font/下的文件夹中。以arial字体为例:
# mkdir /usr/share/fonts/arial # cp arial*.ttf /usr/share/fonts/arial/
2. 为刚加入的字体设置缓存使之有效
# cd /usr/share/font/arial # fc-cache -fv
经过这样的设置后,即可在Gnome界面的 系统——首选项——外观——字体 中进行字体的选择了。
3. 设置gunplot对arial的选择路径
本文首页提示的错误是由于程序调用gunplot造成,必须让gunplot识别arial字体所在的路径才行。
$ export GDFONTPATH=/usr/share/fonts/arial $ export GNUPLOT_DEFAULT_GDFONT="arial"
将字体文件拷到 Linux 服务器上,然后调用 fc-cache 更新一下
列出所有已经安装的中文字体,如果还没有安装中文字体#fc-list :lang-zh 宋体,SimSun:style=Regular
看字体是怎么走的
fc-match Arial -s查看下本地语言设置
locale因为不需要全局修改LC_CTYPE,所以在命令前面加一下就好了。为了方便写个alias
alias casperjs=’LC_CTYPE=en_US.UTF-8 casperjs’