php utf8页面验证码图片中文乱码
发布:smiling 来源: PHP粉丝网 添加日期:2013-11-29 21:44:32 浏览: 评论:0
在开发时出现uft-8页面中文验证码乱码了,在baidu搜索发现了原因,下面有解决办法有需要的朋友可以参考一下,代码如下:
- <?
- 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()%100,rand()%30,$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);
- ?>
分析原因与解决办法,错误代码如下:
- $str=iconv("gbk","utf-8","新年快乐!");//确定要绘制的中文文字
- imagettftext($im,12,3,20,20,$te,'msyhbd.ttf','中文en');
正确的代码应该这样的:
- $str=iconv("gbk","utf-8","新年快乐!");//确定要绘制的中文文字
- imagettftext($im,12,3,20,20,$te,'msyhbd.ttf',$str);
Tags: utf8 页面 验证码 中文乱码
- 上一篇:php 图片添加文字水印并添加文字阴影
- 下一篇:PHP中创建并处理图象
相关文章
- ·php生成验证码(2013-12-09)
- ·PHP版的验证码程序(2013-12-10)
- ·php生成验证码图片从入门和精通教程(2013-12-31)
- ·php 生成验证码图片不显示问题(2014-01-18)
- ·PHP生成图片验证码练习笔记(2014-08-18)
- ·php生成图形验证码几种方法总结(2014-08-18)
- ·php生成雪花背景验证码程序代码(2014-08-18)
- ·完美的php生成验证码程序代码(2014-08-18)
- ·PHP生成GIF动态图片验证码(2014-08-18)
- ·php生成验证码图片学习笔记(2014-08-19)
- ·php两款生成图形验证码的代码(2014-08-19)
- ·php生成验证码类代码(2014-08-19)
- ·php生成验证码实现代码(2014-08-19)
- ·php生成验证码详细教程(2014-08-19)
- ·php中文汉字验证码生成程序(2014-08-19)
- ·php 验证码程序,数字与字母(2014-08-19)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)