php輸出圖片並顯示中文亂碼的解決方法:1、在PHP程式碼前加上ob_clean()清除緩衝區;2、設定UTF-8編碼即可。
本文操作環境:Windows7系統、PHP7.1版、DELL G3電腦
如何解決php輸出圖片並顯示中文亂碼問題?
php使用GD圖像庫繪製輸出圖像出現亂碼問題和圖片上輸出中文出現亂碼問題解決方法
源碼:
<html> <head> <title>PHP 图像测试</title> </head> <body> <?php #创建背景图像 $im = @imagecreate(500,500) or die("没有安装GD图像库<br>"); #设置背景颜色 $bgCol=imagecolorallocate($im,255,0,0); #设置字体颜色 $texCol=imagecolorallocate($im,255,255,0); $motto = "I love my baby! 我家宝贝聪明可爱漂亮"; $motto = iconv("gb2312", "utf-8", $motto); #在背景图像上输入文字 imagestring($im,3,5,5,$motto,$texCol); #输出图像 header("Content-Type: image/png"); imagepng($im); #清除所有资源 imagedestroy($im); ?> </body> </html>
運行後得到的結果:
<html> <head> <title>PHP ͼ������</title> </head> <body> �PNG IHDR���M�PLTE���lۜ�IDATx���1 �0�ᔀ]*��W�:/�ر��C����ɥ��1N���?^������M��c��N���>t1�+�w�1 �Z۷�+��<��7���y�ݏ�.�}�T�ݧ_��?�/o�m��IEND�B`�</body> </html>
(1)解決方法:在$im = @imagecreate(500,500) or die("沒有安裝GD映像庫0c6dc11e160d3b678d68754cc175188a");前面加上ob_clean();先清除緩衝區。即可顯示圖片,但圖片上的文字只能顯示英文和數字,中文會出現亂碼。
(2)imagestring 預設英文編碼,只支援UTF-8,所以中文會出現亂碼,應採用
imagettftext($im,10,30,0,100,$texCol,"c:/windows/fonts/simhei.ttf",$motto);
"c:/windows/fonts/simhei.ttf",系統自帶的黑體。
推薦學習:《PHP影片教學》
以上是如何解決php輸出圖片並顯示中文亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!