PHP функция imagettftext () и Unicode
используя функцию PHP imagettftext () для преобразования текста в изображение GIF. Текст, который я конвертирую, содержит символы Юникода, включая японский. Все отлично работает на моей локальной машине (Ubuntu 7.10), но на моем сервере веб-хоста японские символы искажены. Что может быть причиной разницы? Все должно быть закодировано как UTF-8.
Разбитое изображение на сервере веб-хостинга:http://www.ibeni.net/flashcards/imagetest.php
Копия правильного изображения с моей локальной машины:http://www.ibeni.net/flashcards/imagetest.php.gif
Скопируйте phpinfo () с моего локального компьютера:http://www.ibeni.net/flashcards/phpinfo.php.html
Скопируйте phpinfo () с моего сервера веб-хостинга:http://example5.nfshost.com/phpinfo
Код:
mb_language('uni');
mb_internal_encoding('UTF-8');
header('Content-type: image/gif');
$text = '日本語';
$font = './Cyberbit.ttf';
// Create the image
$im = imagecreatetruecolor(160, 160);
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
// Create some colors
imagefilledrectangle($im, 0, 0, 159, 159, $white);
// Add the text
imagettftext($im, 12, 0, 20, 20, $black, $font, $text);
imagegif($im);
imagedestroy($im);