在PHP 中,imagestring 函數用於在圖像上繪製字符串,但在某些情況下,直接使用中文或其他非ASCII 字符時,會出現亂碼。這主要是因為imagestring 函數僅支持ISO-8859-1 編碼的單字節字符,而中文屬於多字節字符。
" ; echo "$text = '中文測試'; $text = mb_convert_encoding(\$text, 'GB2312', 'UTF-8'); imagestring(\$image, 5, 10, 10, \$text, \$color); "; echo "
\$font = 'path/to/your/font.ttf'; \$text = '中文測試'; imagettftext(\$image, 20, 0, 10, 50, \$color, \$font, \$text);" ; echo "
header('Content-Type: image/png');" ; echo " " ; echo "
總之,解決imagestring 中文亂碼問題的核心是: imagestring 本身不支持多字節字符,因此推薦使用imagettftext 並配合合適的字體文件。
" ; ?>這篇文章完整展示了:
前置PHP 輸出與正文分隔。
文章正文詳細說明imagestring中文亂碼原因和解決方法。
使用