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

时间:2011-05-11 19:51:03

标签: php utf-8 capitalization

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

所以我的问题是,如果我有一个UTF-8编码的字符串(在一些未知的语言环境中)如何将它转换为PHP中的所有大写/小写字母?

2 个答案:

答案 0 :(得分:53)

您想使用mb_strtoupper

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

PHP.net州:

  

与标准情况相反   折叠功能,如strtolower()   和strtoupper(),案例折叠是   在Unicode的基础上执行   角色属性。就这样   这个功能的行为不是   受区域设置影响,它可以   转换任何有字符的字符   '字母'属性,例如   A-umlaut(Ä)。

答案 1 :(得分:0)

你试过this吗?我不是语言学家,但我不认为所有语言都有较低/较高的分裂。