mb_strtoupper显示问号

时间:2016-09-22 17:54:24

标签: php uppercase

嗨,我在将特殊字符转换为大写时遇到问题。

使用常规的strtoupper我会得到像DANIëL这样的东西,当应用mb_strtoupper时,我得到了DANI?L。 这是代码: mb_strtoupper(rtrim($ pieces [1],“,”),'UTF-8')

请注意,我已经在输入上运行: iconv('UTF-8','ISO-8859-1 // TRANSLIT',$ tr-> TD [0])

这可能是原因吗?或者还有其他什么?

1 个答案:

答案 0 :(得分:0)

当转换器期望UTF-8

时尝试对Latin1进行大写的典型问题

请务必检查您的字符串来源。如果您的文本编辑器使用Latin1页码,而不是,则使用UTF-8

,此示例将有效
$str = "daniël"; //or your rtrim($pieces[1],",")
$str = mb_convert_encoding($str,'UTF-8','Latin1');
echo mb_strtoupper($str, 'UTF-8');
//will echo DANIËL