strtolower() 提供错误的字符?
strtolower() providing faulty character?
我使用 strtolower()
将字符串转换为小写。稍后在代码中,这些字符串从 UTF-8 转换为 ANSI (Windows-1252) 使用 iconv()
,除非使用 //IGNORE
语句,否则函数失败。
我将违规字符识别为小写德语 Umlaut ü
。但是,在使用 ü
之前,有一个大写的 Ü
,可以很好地转换。区别在于包含小写 ü
的字符串是使用 strtolower()
.
创建的
为什么 strtolower()
给我无法转换的结果或错误的编码?如何补救?
使用支持多字节字符的mb_strtolower
// Tell the function what charset you are using as second param.
echo mb_strtolower($str, 'UTF-8');
我使用 strtolower()
将字符串转换为小写。稍后在代码中,这些字符串从 UTF-8 转换为 ANSI (Windows-1252) 使用 iconv()
,除非使用 //IGNORE
语句,否则函数失败。
我将违规字符识别为小写德语 Umlaut ü
。但是,在使用 ü
之前,有一个大写的 Ü
,可以很好地转换。区别在于包含小写 ü
的字符串是使用 strtolower()
.
为什么 strtolower()
给我无法转换的结果或错误的编码?如何补救?
使用支持多字节字符的mb_strtolower
// Tell the function what charset you are using as second param.
echo mb_strtolower($str, 'UTF-8');