Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 php utf8页面验证码图片中文乱码

php utf8页面验证码图片中文乱码

发布时间:2019-02-09   编辑:www.jquerycn.cn
jquery中文网为您提供php utf8页面验证码图片中文乱码等资源,欢迎您收藏本站,我们将为您提供最新的php utf8页面验证码图片中文乱码资源
在开发时出现uft-8页面中文验证码乱码了,在baidu搜索发现了原因,下面有解决办法有需要的朋友可以参考一下。
<script>ec(2);</script>

 

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy1845')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy1845>

<?
session_start();


//生成随机数
for($i=0;$i<4;$i ){
$rand.=dechex(rand(1,15));
}
$_SESSION['checkpic']=$rand;

$im=imagecreatetruecolor(100,30);//画板,新建一个真彩色图像

//设置颜色
$bg=imagecolorallocate($im,0,0,0);//红,绿,蓝 背景颜色
$te=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));//字体颜色

//画线条
for($i=0;$i<3;$i ){
$te2=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imageline($im,rand(0,100),0,rand(0,100),30,$te2);//坐标(x1,y1)到坐标(x2,y2)
}

//画点
for($i=0;$i<200;$i ){
imagesetpixel($im,rand()0,rand()0,$te2);
}


//输出中文
$str=iconv("gbk","utf-8","新年快乐!");//确定要绘制的中文文字
imagettftext($im,12,3,20,20,$te,'msyhbd.ttf','中文en');

//把字符串写在图像左上角
//imagestring($im,5,rand(0,50),rand(0,15),$rand,$te);

//输出图像
header("Content-type:image/jpeg");//文件类型
imagejpeg($im);

 

?>

</td> </tr> </table>

分析原因与解决办法

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy9463')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy9463>

$str=iconv("gbk","utf-8","新年快乐!");//确定要绘制的中文文字
imagettftext($im,12,3,20,20,$te,'msyhbd.ttf','中文en');

</td> </tr> </table>

-->>
应该这样的

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy3295')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy3295>$str=iconv("gbk","utf-8","新年快乐!");//确定要绘制的中文文字
imagettftext($im,12,3,20,20,$te,'msyhbd.ttf',$str);</td> </tr> </table></td> </tr> </table>

您可能感兴趣的文章:
用php生成带有雪花背景的验证码
php utf8 一半乱码的问题
有关php中文乱码的解决方法
php随机验证码 php生成随机验证码(图文)
php 多图片上传的简单例子(图文)
解决php截取utf-8中文字符串时乱码的问题
php验证码刷新与局部刷新的实现方法
解决Jquery load()加载GB2312页面时出现乱码的两种方案
php与mysql遇到乱码时的一般解决思路
mysql 编码设置一例

[关闭]