我一直在阅读strtoupper()PHP函数的用户注释,似乎没有就如何对非Enlgish字符串进行转换达成共识。我的意思是人们提供本地化的解决方案和东西,但不应该有一个统一的方法将字符串转换为所有上部(或所有较低)的大小写字母?
所以我的问题是,如果我有一个UTF-8编码的字符串(在一些未知的语言环境中)如何将它转换为PHP中的所有大写/小写字母?
答案 0 :(得分:53)
您想使用mb_strtoupper
。
$str = "Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
$str = mb_strtoupper($str, "UTF-8");
echo $str; // Prints ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ
PHP.net州:
与标准情况相反 折叠功能,如strtolower() 和strtoupper(),案例折叠是 在Unicode的基础上执行 角色属性。就这样 这个功能的行为不是 受区域设置影响,它可以 转换任何有字符的字符 '字母'属性,例如 A-umlaut(Ä)。
答案 1 :(得分:0)
你试过this吗?我不是语言学家,但我不认为所有语言都有较低/较高的分裂。