strtolower()提供错误的字符?

Squ*_*Cat -2 php character-encoding iconv

strtolower()用来将字符串转换为小写.当在后面的代码这些字符串从转换UTF-8ANSI (Windows的1252)使用iconv(),除非该函数将失败//IGNORE,使用语句.

我将这个令人讨厌的角色确定为小写的德国变形金刚 ü.但是,在ü使用之前,有一个大写字母Ü,它可以很好地转换.区别在于包含小写的字符串ü已使用创建strtolower().

为什么strtolower()给我带来不可逆转的结果或错误的编码?如何解决这个问题?

Spr*_*gie 5

使用支持多字节字符的mb_strtolower

// Tell the function what charset you are using as second param. 
echo mb_strtolower($str, 'UTF-8');
Run Code Online (Sandbox Code Playgroud)