Функция PHP Imagick – setTextEncoding () не работает

Я пытаюсь добавить текст в объект Imagick.

Однако я использую функцию setTextEncoding (), но она по-прежнему не работает.

....... $draw = new ImagickDraw(); $draw->setTextEncoding('utf-8'); $draw->setFont($fpath.'/process/ARIAL.TTF'); $draw->setFontSize(80); $draw->setFillColor("#ffffff"); /*** annotate the text on the image ***/ $imageOrg->annotateImage($draw, 60, 100, 0, "onur küçükkeçe"); ........ 

и в результате я получаю,

 onur küçükkeçe 

Любая идея, почему она не работает?

Заранее спасибо.

ОБНОВИТЬ

если я ставлю переменную $ text на что-то вроде chr (252), тогда я получаю правильный результат

 $text=chr(252); $imageOrg->annotateImage($draw, 60, 100, 0, $text); 

в результате я получаю

 ü 

ОБНОВЛЕНИЕ II

Наконец, я нашел причину этого.

Проблема возникает из-за того, что кодировка документа не определена, но если задана кодировка для скрипта, то imagick не работает, потому что тип документа должен быть установлен в image / png.

Но я не знаю, как это исправить.

ОК. Я нашел решение.

Функция php utf8_decode () решает проблему

 ....... $draw = new ImagickDraw(); $draw->setTextEncoding('utf-8'); $draw->setFont($fpath.'/process/ARIAL.TTF'); $draw->setFontSize(80); $draw->setFillColor("#ffffff"); /*** annotate the text on the image ***/ $imageOrg->annotateImage($draw, 60, 100, 0, utf8_decode("onur küçükkeçe")); ........