我一直在阅读有关 strtoupper() PHP 函数的用户评论,似乎对于如何转换非英语字符串并没有共识。我的意思是,人们提供本地化的解决方案和其他东西,但是否应该有一种统一的方法将字符串转换为全部大写(或全部小写)字母呢?
因此,我的问题是,假设我有一个 UTF-8 编码的字符串(在某个未知的区域设置中),如何在 PHP 中将其转换为所有大/小写字母?
因此,我的问题是,假设我有一个 UTF-8 编码的字符串(在某个未知的区域设置中),如何在 PHP 中将其转换为所有大/小写字母?
你想要使用mb_strtoupper
函数。
$str = "Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
$str = mb_strtoupper($str, "UTF-8");
echo $str; // Prints ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ
PHP.net中提到:
相比于标准的大小写转换函数,如strtolower()和strtoupper(),本函数是根据Unicode字符属性执行的大小写折叠。因此,本函数的行为不受语言环境设置的影响,并且可以转换所有具有“字母”属性的字符,例如A-umlaut(Ä)。
ß
没有大写形式 :) - KingCrunch