我有一些带有(瑞士)法语字符的字符串,我想大写(PHP 5.3)。
echo strtoupper('société');
由于strtoupper()
不适用于accuentuated字符,我做了一个setlocale()
(这个语言环境在我们的Ubuntu dev和debian prod服务器上可用),它不起作用:
setlocale(LC_CTYPE, 'fr_CH');
echo strtoupper('société');
预期结果:
SOCIÉTÉ
结果:
SOCIéTé
可用的语言环境:
$ locale -a
...
fr_CH
fr_CH.iso88591
fr_CH.utf8
fr_FR
fr_FR.iso88591
fr_FR.iso885915@euro
fr_FR.utf8
fr_FR@euro
...
$ locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
注意:该mbstring
模块不可用。