Maison >développement back-end >Problème PHP >Comment résoudre le problème de la sortie d'images par PHP et de l'affichage de caractères chinois tronqués

Comment résoudre le problème de la sortie d'images par PHP et de l'affichage de caractères chinois tronqués

藏色散人
藏色散人original
2021-10-25 09:23:033603parcourir

Solution pour PHP produisant des images et affichant des caractères chinois tronqués : 1. Ajoutez ob_clean() avant le code PHP pour effacer le tampon ; 2. Définissez l'encodage UTF-8.

Comment résoudre le problème de la sortie d'images par PHP et de l'affichage de caractères chinois tronqués

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

Comment résoudre le problème de la sortie php d'images et de l'affichage de caractères chinois tronqués ?

php utilise la bibliothèque d'images GD pour dessiner et générer des images avec des caractères tronqués et afficher des caractères chinois sur les images avec des caractères tronqués Solution

Code source :

<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>

Résultat après l'exécution :

 <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) Solution : dans. $im = @imagecreate(500,500) or die("La bibliothèque d'images GD n'est pas installée0c6dc11e160d3b678d68754cc175188a"); Ajoutez ob_clean(); L'image peut être affichée, mais le texte sur l'image ne peut afficher que l'anglais et les chiffres, et les caractères chinois seront tronqués.

(2) L'encodage anglais par défaut de la chaîne d'images ne prend en charge que UTF-8, donc les caractères chinois seront tronqués. Vous devez utiliser

imagettftext($im,10,30,0,100,$texCol,"c:/windows/fonts/simhei.ttf",$motto);

"c:/windows/fonts/simhei.ttf", le caractère gras du système.

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn