大写特殊字符未正确显示

时间:2017-03-19 13:01:01

标签: php utf-8 uppercase

我正在使用多语言网站。我使用数据库和表格来获取不同单词和句子的翻译。

例如,在我的菜单中,我有一个名为“翻译”的元素。因此,当用德语访问该网站时......该元素将被称为“Übersetzungen”

现在问题来了。对于其余的特殊字符,这个问题不会发生。它似乎只发生在像“Ü”这样的大写特殊字符上。

在数据库表中,值为“Õbersetzungen”,在HTML中打印的应为“Übersetzungen”。

Example of the problem

在其他情况下,如“Länder”(德语国家),翻译返回“Länder”。 (包含小写的特殊字符)。

UT8在标题中设置,数据正确插入表中,并且在包含UT8特殊字符的所有情况下都可以正常工作,除了特殊的大写字符。

我正在使用WAMP构建我的网站,而php.ini默认使用utf8。

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

尝试一下。

https://www.php.net/manual/en/function.mb-strtoupper.php

<?php
$str = "Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
$str = mb_strtoupper($str, 'UTF-8');
echo $str; // Prints ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ
?>