【问题标题】:Preparing umlauts for PHP Imagettftext为 PHP Imagettftext 准备变音符号
【发布时间】:2014-02-20 00:57:50
【问题描述】:

我们已经在网上搜索了解决此问题的方法,但还没有运气...

我们正在使用:

$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);
}

但这不起作用...有什么想法可以解决这个问题吗?

提前感谢您的帮助!

【问题讨论】:

    标签: php gd imagettftext


    【解决方案1】:

    它可能与imagettftext 无关。 strtoupper 取决于语言环境,而且就支持的编码而言,还有些限制。使用mb_strtoupper 并告诉它您的字符串采用哪种编码(可能是UTF-8):

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

    【讨论】:

      【解决方案2】:

      你必须使用mb_strtoupper

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

      【讨论】:

      • 有时这很简单.. :)
      猜你喜欢
      • 2020-12-08
      • 1970-01-01
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      • 2016-05-03
      • 2011-09-28
      • 2011-04-18
      • 1970-01-01
      相关资源
      最近更新 更多