Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP setlocale不';不允许像strtolower这样的PHP函数。。。要为UTF-8正常工作?_Php - Fatal编程技术网

PHP setlocale不';不允许像strtolower这样的PHP函数。。。要为UTF-8正常工作?

PHP setlocale不';不允许像strtolower这样的PHP函数。。。要为UTF-8正常工作?,php,Php,我测试了PHPsetlocale函数与strtolower对我的标准UTF-8编码和波兰语字母的使用情况。 不幸的是,我的经验告诉我,这些函数不喜欢UTF-8 在Windows中,我无法使用它。 事实证明,我无法在主机服务器Linux cp15.vpsi.pl 2.6.32-220.4.1.el6.x86_64 x86_64上使用它。 我使用了locale-该系统上的一个命令,以确定我必须使用pl\u pl.UTF-8,setlocale函数接受了它。 嗯,strtolower函数只能重复我输入

我测试了PHPsetlocale函数与strtolower对我的标准UTF-8编码和波兰语字母的使用情况。
不幸的是,我的经验告诉我,这些函数不喜欢UTF-8 在Windows中,我无法使用它。
事实证明,我无法在主机服务器Linux cp15.vpsi.pl 2.6.32-220.4.1.el6.x86_64 x86_64上使用它。 我使用了locale-该系统上的一个命令,以确定我必须使用pl\u pl.UTF-8,setlocale函数接受了它。
嗯,strtolower函数只能重复我输入的波兰语大写字母的字符串,无法更改,因此很难将波兰语字母转换为小写。
对于pl.iso88592
据我所知,UTF-8是最好的编码,尤其是在使用WordPress时。UTF-8是否仅适用于非常复杂的计算机系统

来自

strtolower()不适用于波兰字符

将返回:mĄka

最佳解决方案-使用
mb\u strtolower()

将返回:mąka


使用函数。这就行了。

mb_uu功能很好。遗憾的是,我的php.exe(用于Win7-cli中的cmd.exe)没有这个模块,无法识别这些函数

    setlocale(LC_CTYPE, 'pl_PL.UTF-8');
    $str = iconv('utf-8', 'ascii//translit', $str);
    $str = strtolower($str);

请参见

好的解决方案。非常感谢。嗯,setlocale不仅仅在strtolower类函数上工作。像str_ireplace这样的不区分大小写的函数怎么样?您可以在这里找到多字节字符串函数的完整列表: