推荐应用
Discuz中文验证码呈现繁体文、乱码、口口等不正常现象的解决方案
发布于 2014-08-31
操作前请先确保按照下方教程做过设置:
Discuz中文验证码的使用方法:http://www.discuzlab.com/thread-16620-1-1.html
如果还不行,打开php探针,看下是否存在php参数--enable-gd-jis-conv
如图:
如果存在,最好的方法是重新编译php,取消该项。如果不方便编译,请按照下方修改discuz内核。
打开文件
source/class/class_seccode.php
搜索:
替换为:
如果有php报错,可以在搜索到的内容前加入
目的是将原有字符串以正常字符集传递并且生成验证码
Discuz中文验证码的使用方法:http://www.discuzlab.com/thread-16620-1-1.html
如果还不行,打开php探针,看下是否存在php参数--enable-gd-jis-conv
如图:
如果存在,最好的方法是重新编译php,取消该项。如果不方便编译,请按照下方修改discuz内核。
打开文件
source/class/class_seccode.php
搜索:
$this->shadow && imagettftext($this->im, $font[$i]['size'], $font[$i]['angle'], $x + 1, $y + 1, $text_shadowcolor, $font[$i]['font'], $seccode[$i]);
imagettftext($this->im, $font[$i]['size'], $font[$i]['angle'], $x, $y, $text_color, $font[$i]['font'], $seccode[$i]);
替换为:
$this->shadow && imagettftext($this->im, $font[$i]['size'], $font[$i]['angle'], $x + 1, $y + 1, $text_shadowcolor, $font[$i]['font'], mb_convert_encoding($seccode[$i], "html-entities", "utf-8"));
imagettftext($this->im, $font[$i]['size'], $font[$i]['angle'], $x, $y, $text_color, $font[$i]['font'], mb_convert_encoding($seccode[$i], "html-entities", "utf-8"));
如果有php报错,可以在搜索到的内容前加入
$seccode[$i] = mb_convert_encoding($seccode[$i], "html-entities", "utf-8");
目的是将原有字符串以正常字符集传递并且生成验证码