用于 UTF-8 字符串的 strtoupper PHP 函数

2022-08-30 14:12:10

我一直在阅读sstrtoupper()PHP函数的用户评论,对于如何对非Enlgish字符串进行转换似乎没有达成共识。我的意思是人们提供本地化的解决方案和东西,但是难道不应该有一种统一的方法将字符串转换为所有大写(或全部小写)字母吗?

所以我的问题是,如果我有一个UTF-8编码的字符串(在一些未知的区域设置中),我如何将其转换为PHP中的所有大写/下字母?


答案 1

您想使用 .mb_strtoupper

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

PHP.net 州:

与标准大小写折叠函数(如 strtolower() 和 strtoupper())相比,大小写折叠是在 Unicode 字符属性的基础上执行的。因此,此函数的行为不受区域设置的影响,它可以转换具有“字母”属性的任何字符,例如A-元音变音符(Ä)。


答案 2

你试过这个吗?我不是语言学家,但我不会假设所有语言都有小写/大写的分割。


推荐