这不是bug。健。的码值=0xbd 0xa1 0xa1,你替换的是0xa1a1

解决方案 »

  1.   

    因为php是面向字节处理的。汉字是双字节结构,所以会出现这种情况。
      

  2.   

    <?
    $str="中国 人民 张健。是的";
    echo "处理前:".$str."<br>";
    mb_regex_encoding("GB2312");
    $str=mb_ereg_replace(" ","",$str);
    echo "处理后:".$str."<br>";
    ?>
      

  3.   

    用MB系列
    或者用chr()来进入正则中