Heim > Artikel > Backend-Entwicklung > 解决GD中文乱码问题_PHP教程
今天仔细研究了下GD的一些相关技术,顺手也研究下GD中文乱码的问题。
使用GD库输出中文字符串,调用imagestring是没有用的。需要使用imagettftext()函数。imagettftext函数的具体使用就参考手册啦。
下面给个使用实例:
<span style="COLOR: #000000"><br>$pic=imagecreate(250,30); <br>$black=imagecolorallocate($pic,0,0,0); <br>$white=imagecolorallocate($pic,255,255,255); <br>$font="C://WINDOWS//Fonts//simhei.ttf"; //这里的路进需要注意下,必须是字符的路径 <br>$str ='php'.iconv('gb2312','utf-8','面对对象')." www.phpobject.net"; <br>imagettftext($pic,10,0,10,20,$white,$font,$str); <br> </span>
<span style="COLOR: #000000"><br><span style="COLOR: #0000bb"><?php <BR>$pic</span><span style="COLOR: #007700">=</span><span style="COLOR: #0000bb">imagecreate</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">250</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">30</span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">$black</span><span style="COLOR: #007700">=</span><span style="COLOR: #0000bb">imagecolorallocate</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$pic</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">$white</span><span style="COLOR: #007700">=</span><span style="COLOR: #0000bb">imagecolorallocate</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$pic</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">255</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">255</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">255</span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">$font</span><span style="COLOR: #007700">=</span><span style="COLOR: #dd0000">"C://WINDOWS//Fonts//simhei.ttf"</span><span style="COLOR: #007700">; <br></span><span style="COLOR: #0000bb">$str </span><span style="COLOR: #007700">=</span><span style="COLOR: #dd0000">'php'</span><span style="COLOR: #007700">.</span><span style="COLOR: #0000bb">iconv</span><span style="COLOR: #007700">(</span><span style="COLOR: #dd0000">'gb2312'</span><span style="COLOR: #007700">,</span><span style="COLOR: #dd0000">'utf-8'</span><span style="COLOR: #007700">,</span><span style="COLOR: #dd0000">'面对对象'</span><span style="COLOR: #007700">).</span><span style="COLOR: #dd0000">" www.phpobject.net"</span><span style="COLOR: #007700">; <br></span><span style="COLOR: #0000bb">imagettftext</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$pic</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">10</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">10</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">20</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">$white</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">$font</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">$str</span><span style="COLOR: #007700">); <br><br></span><span style="COLOR: #0000bb">header</span><span style="COLOR: #007700">(</span><span style="COLOR: #dd0000">"Content-type: image/jpeg"</span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">$filename</span><span style="COLOR: #007700">=</span><span style="COLOR: #dd0000">'../src/images/photo.jpg'</span><span style="COLOR: #007700">; <br></span><span style="COLOR: #0000bb">$im</span><span style="COLOR: #007700">=</span><span style="COLOR: #0000bb">imagecreatefromjpeg</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$filename</span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">imagecopymerge</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$im</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">$pic</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">250</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">30</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">50</span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">imagejpeg</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$im</span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">?></span> <br> </span>