strtolower()提供错误的字符?

时间:2017-11-10 12:25:00

标签: php character-encoding iconv

我使用strtolower()将字符串转换为小写字母。稍后在代码中,使用iconv()将这些字符串从 UTF-8 转换为 ANSI (Windows-1252)除非使用//IGNORE语句,否则将失败。

我将违规字符识别为小写德语 Umlaut ü。但是,在使用ü之前,有一个大写Ü,它可以很好地转换。不同之处在于,使用ü创建了包含小写strtolower()的字符串。

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

1 个答案:

答案 0 :(得分:5)

使用支持多字节字符的mb_strtolower

var arr = [1,2,3,4,5,6,7,8,9,10];

for(var i = 0;i<arr.length;i++){

  console.log(i);
  compute(i);

  function compute(num){
    //break is illegal here
    //return ends only compute function
    if(num>=3) i=arr.length;
  }

}