PHPでは、画像に文字列を描画するために画像化機能が使用されますが、場合によっては、中国語または他の非ASCII文字を直接使用するときに文字化けコードが表示されます。これは主に、画像診断関数がISO-8859-1によってエンコードされた単一バイト文字のみをサポートし、中国語はマルチバイト文字に属するためです。
」エコー 「$ text = '中国のテスト'; $ text = mb_convert_encoding(\ $ text、 'gb2312'、 'utf-8'); Imagestring(\ $ image、5、10、10、\ $ text、\ $ color); ";エコー 「
\ $ font = 'path/to/your/font.ttf'; \ $ text = '中国のテスト'; ImageTtftext(\ $ image、20、0、10、50、\ $ color、\ $ font、\ $ text);" ;エコー 「
ヘッダー( 'Content-Type:Image/PNG');" ;エコー "" ;エコー 「
要するに、文字化けされた中国の画像の問題を解決するコアは次のとおりです。イメージストリング自体はマルチバイト文字をサポートしていないため、ImagetTftextを使用して適切なフォントファイルと協力することをお勧めします。
」 ?>この記事では、次のような完全な表示を示しています。PHP
前の出力はボディから分離されています。
この記事では、中国の文字化けコードを画像化する理由と解決策について詳しく説明しています。
使用