美文网首页Java技术日志
阿里云Linux服务器下Java验证码乱码问题解决

阿里云Linux服务器下Java验证码乱码问题解决

作者: 梁朋举 | 来源:发表于2018-04-16 12:24 被阅读44次

    问题描述:阿里云新部署的Linux服务器,安装后Java运行环境后,系统登录时发现验证码是乱码。
    原因:服务器缺失验证码所需要的相应字体库。
    解决方案:
    1. 首先找到程序代码中生成验证码的地方所使用的的字体,比如是"宋体"。

    //设置字体
    Font font = new Font("宋体", Font.BOLD, 16);
    

    2. SSH登录服务器查看服务器默认字体库,没有宋体

    #fc-match
    

    3. 从Windows系统中拷贝字体
    从Windows系统中拷贝相应的字体到Linux服务器相应位置即可。
    打开C:\Windows\Fonts目录,选中“宋体”,拷贝到其他文件夹中,可以看到simsun.ttc文件就是所需要的字体。当然也可以使用类似方式拷贝所有你需要的字体。

    宋体
    4. 拷贝到Linux服务器的默认字体库,一般默认在/usr/share/fonts/目录下。
    5. 执行如下命令更新字体缓存
    #fc-cache
    

    6. 再次查看默认字体

    #fc-match
    simsun.ttc: "宋体" "Regular"
    

    7. 重启项目Tomcat服务器,再次访问验证码正常。

    注:如果上述步骤没能使字体生效,可以尝试第二种方式,即把字体文件拷贝到服务器的 {JAVA_HOME}/jre/lib/fonts目录下,使用fc-cache命令重新载入字体配置,清除字体缓存,然后重启项目即可。

    相关文章

      网友评论

      • IT人故事会:老铁下次注意格式啊,不太清晰,给点建议对于新手需要的是注释啊

      本文标题:阿里云Linux服务器下Java验证码乱码问题解决

      本文链接:https://www.haomeiwen.com/subject/vgbskftx.html