首頁 > 後端開發 > PHP問題 > 如何解決php輸出圖片並顯示中文亂碼問題

如何解決php輸出圖片並顯示中文亂碼問題

藏色散人
發布: 2023-03-13 13:12:01
原創
3582 人瀏覽過

php輸出圖片並顯示中文亂碼的解決方法:1、在PHP程式碼前加上ob_clean()清除緩衝區;2、設定UTF-8編碼即可。

如何解決php輸出圖片並顯示中文亂碼問題

本文操作環境: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映像庫
");前面加上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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板