Php strtoupper不';t使用iconv/utf8_解码和FPDF

Php strtoupper不';t使用iconv/utf8_解码和FPDF,php,utf-8,character-encoding,fpdf,Php,Utf 8,Character Encoding,Fpdf,要将特殊字符打印到FPDF,我可以使用: $this->Cell($w2, 15, iconv('UTF-8', 'windows-1252', $text)); 或 但这两种方法都不适用于strotupper。例如: $this->Cell($w2, 15, strtoupper(iconv('UTF-8', 'windows-1252', $text))); $this->Cell($w2, 15, strtoupper(utf8_decode($text))); $t

要将特殊字符打印到FPDF,我可以使用:

$this->Cell($w2, 15, iconv('UTF-8', 'windows-1252', $text));

但这两种方法都不适用于strotupper。例如:

$this->Cell($w2, 15, strtoupper(iconv('UTF-8', 'windows-1252', $text)));
$this->Cell($w2, 15, strtoupper(utf8_decode($text)));

$this->Cell($w2, 15, iconv('UTF-8', 'windows-1252', strtoupper($text)));
$this->Cell($w2, 15, utf8_decode(strtoupper($text)));
鉴于:

$text = "Conformità";
所有这些都返回:

一致性

而不是:

因循守旧

更新 此处或其他答案中提出的解决方案不起作用:

mb_strtoupper($text);
mb_strtoupper($text, 'UTF-8'); 
印刷品

符合À


您需要使用函数的多字节版本,
mb\u strtoupper()


请参阅PHP文档:

您需要使用函数的多字节版本,
mb\u strtoupper()


请参阅PHP文档:

Nope<代码>mb_strotupper($text)甚至
mb_strotupper($text,'UTF-8')打印
CONFORMIT€
。当然,我的字体包含这个字符。不<代码>mb_strotupper($text)甚至
mb_strotupper($text,'UTF-8')打印
CONFORMIT€
。当然,我的字体包含该字符。@Jeto,如注释中所述,链接答案所产生的解决方案不起作用。但似乎不起作用?它可能不起作用,因为您的字符集已损坏-它需要在整个应用程序中设置,最好是在不切换字符集的情况下设置为相同的字符集。我建议UTF8,如果你可以在任何地方使用。读取@Mark I投票重新打开。@Mark我已在本地进行测试,并输出正确结果。您可以试试。@Jeto,正如在评论中所说的,链接答案所产生的解决方案不起作用。但似乎是这样吗?它可能不起作用,因为您的字符集已损坏-需要在整个应用程序中设置它,最好是在不切换字符集的情况下设置为相同。我建议UTF8,如果你可以在任何地方使用。读取@Mark I投票重新打开。@Mark我已在本地进行测试,并输出正确结果。你可以试试。
mb_strtoupper($text);
mb_strtoupper($text, 'UTF-8'); 
echo strtoupper($text); //CONFORMITà
echo mb_strtoupper($text); //CONFORMITÀ