我的页面中有一些外语文本,但是当我将其设为小写时,它看起来像这样......
$a = "????? ?????????";
echo $b = strtolower($a);
//returns ????? ?????????
Run Code Online (Sandbox Code Playgroud)
我已经设定<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
你能告诉我为什么吗?提前致谢
Ste*_*tes 58
你尝试过使用mb_strtolower()吗?
rek*_*o_t 19
PHP5不兼容UTF-8,因此您仍需要使用mb扩展名.我建议你将mb的内部编码设置为utf-8,然后你可以自由使用它的函数而不必一直指定字符集:
mb_internal_encoding('UTF-8');
...
$b = mb_strtolower($a);
echo $b;
Run Code Online (Sandbox Code Playgroud)
我从这里找到了这个解决方案
$string = '?';
echo 'Uppercase: '.mb_convert_case($string, MB_CASE_UPPER, "UTF-8").'';
echo 'Lowercase: '.mb_convert_case($string, MB_CASE_LOWER, "UTF-8").'';
echo 'Original: '.$string.'';
Run Code Online (Sandbox Code Playgroud)
适合我(小写)
你有没有尝试过
http://www.php.net/manual/en/function.mb-strtolower.php
mb_strtolower()并将编码指定为第二个参数?
该页面上的示例似乎有效.
你也可以尝试:
$str = mb_strtolower($str, mb_detect_encoding($str));
Run Code Online (Sandbox Code Playgroud)