为PHP Imagettftext准备UMLAUT

为PHP Imagettftext准备UMLAUT,php,gd,imagettftext,Php,Gd,Imagettftext,我们已经在网络上搜索了一个解决方案,但还没有找到解决方案 我们正在使用: $output = strtoupper($input); Imagettftext($image, 27, 0, $start_x1, $start_y1, $color, 'font.ttf', strtok($output, ' ')); 将$output的第一个字写入$image 除Ö、Ä、Ü外,这在所有情况下都很有效。这些将显示为ö,ä,ü。我们的.ttf确实包含所有字符 我们已尝试使用以下方法转换$i

我们已经在网络上搜索了一个解决方案,但还没有找到解决方案

我们正在使用:

$output = strtoupper($input);    
Imagettftext($image, 27, 0, $start_x1, $start_y1, $color, 'font.ttf', strtok($output, ' '));
将$output的第一个字写入$image

除Ö、Ä、Ü外,这在所有情况下都很有效。这些将显示为ö,ä,ü。我们的.ttf确实包含所有字符

我们已尝试使用以下方法转换$input:

for ($i = 0; $i < strlen($input); $i++)
{
    $cc = ord($input{$i});
    if ($cc >= 128 || $cc == 38)
        $output .= "&#$cc;";
    else
        $output .= chr($cc);
}
但这不起作用。。。有没有办法解决这个问题

提前感谢您的帮助

您必须使用


它将小写字符转换为正确的大写字符。

它可能与imagettftext无关。strtoupper依赖于语言环境,而且就支持的编码而言有一定的限制。使用mb_strtoupper并告诉它您的字符串的编码可能是UTF-8:

$output = mb_strtoupper($input, 'UTF-8');    

有时候这很容易