我用strtolower测试了 PHP setlocale函数对我的标准UTF-8编码和波兰字母的使用。
不幸的是,我的经验告诉我这些函数不喜欢 UTF-8。
在 Windows 中我根本无法使用它。
好吧,事实证明我不能在我的主机服务器 Linux cp15.vpsi.pl 2.6.32-220.4.1.el6.x86_64 x86_64 上使用它。我在该系统上使用了 locale -a 命令来发现我必须使用pl_PL.UTF-8并且 setlocale 函数接受了它。
好吧,strtolower函数只能将我输入的波兰语大写字母的字符串原封不动地重复,波兰语字母转小写太难了。
不会出现此问题
pl_PL.iso88592。
据我所知,UTF-8 是最好的编码,尤其是当你使用 WordPress 时。UTF-8 是否仅适用于非常复杂的计算机系统?!!!
Michal P.
问问题
632 次
4 回答
1
来自http://php.net/manual/en/function.strtolower.php
strtolower();
不适用于波兰字符
<?php strtolower("mĄkA"); ?>
将返回:mĄka
最佳解决方案 - 使用
mb_strtolower()
<?php mb_strtolower("mĄkA",'UTF-8'); ?>
将返回:mąka
于 2013-02-21T22:37:06.457 回答
1
使用mb_strtolower()函数。这会奏效。
于 2013-02-22T08:04:07.070 回答
0
mb_ 功能不错。可惜我的 php.exe(用于 Win7 中的 cmd.exe - cli)没有这个模块,无法识别这些功能。
于 2013-02-22T21:29:51.650 回答
0
setlocale(LC_CTYPE, 'pl_PL.UTF-8');
$str = iconv('utf-8', 'ascii//translit', $str);
$str = strtolower($str);
于 2013-02-22T21:52:08.820 回答