Dans PHP, la fonction d'imagestring est utilisée pour dessiner des chaînes sur les images, mais dans certains cas, le code brouillé apparaît directement lors de l'utilisation directement des caractères chinois ou non ASCII. Ceci est principalement parce que la fonction d'imagestring ne prend en charge que des caractères à un octet unique codés par ISO-8859-1, tandis que le chinois appartient à des caractères multi-octets.
" ; écho "$ text = 'Test chinois'; $ text = mb_convert_encoding (\ $ text, 'gb2312', 'utf-8'); Imagestring (\ $ image, 5, 10, 10, \ $ text, \ $ couleur); "; Echo "
\ $ font = 'path / to / your / font.ttf'; \ $ text = 'test chinois'; ImageTtfText (\ $ image, 20, 0, 10, 50, \ $ couleur, \ $ font, \ $ text);" ; Echo "
En-tête ('Content-Type: image / png');" ; Echo "" ; écho "
En bref, le cœur de la résolution du problème de l'imagerie chinoise brouillée est: l'imagestring lui-même ne prend pas en charge les caractères multi-octets , il est donc recommandé d'utiliser Imagettftext et de coopérer avec les fichiers de police appropriés.
" ; ?>Cet article montre l'affichage complet de:
la sortie pré-php est séparée du corps.
L'article détaille les raisons et les solutions pour l'imagerie du code brouillé chinois.
utiliser