咨询
交流群
电话

图片验证码出现乱码

2020-10-22 11:44 阅读

图片验证码里面不显示正常的字母或数字,而是显示一些奇怪的乱码,则代表操作系统中没有安装基本的字体。

为了让验证码更难被机器识别,里面字母和数字使用了不同的字体,如果操作系统中没有这些字体,就会出现乱码的情况。虽然验证码中使用的字体是最常用的字体,linux和windows常规情况下都带有这些字体,但有些极简版或者人工删除了相应字体,则会出现乱码情况。

验证码的配置在/WEB-INF/classes/custom.xml文件中。使用了下列三种字体,分别是Bell MT nyala Credit valley验证码会随机使用其中一种。

<list>
    <bean class="java.awt.Font">
        <constructor-arg index="0" value="Bell MT"/>
        <constructor-arg index="1" type="int" value="0"/>
        <constructor-arg index="2" type="int" value="30"/>
    </bean>
    <bean class="java.awt.Font">
        <constructor-arg index="0" value="nyala"/>
        <constructor-arg index="1" type="int" value="1"/>
        <constructor-arg index="2" type="int" value="30"/>
    </bean>
    <bean class="java.awt.Font">
        <constructor-arg index="0" value="Credit valley"/>
        <constructor-arg index="1" type="int" value="1"/>
        <constructor-arg index="2" type="int" value="30"/>
    </bean>
</list>

如果验证码中出现乱码,可以在操作系统中安装上相应的字体,或者在配置中去除没有字体,也可以更换成操作系统有的字体。