$line = '这里是日文字符串';
$line = chr(0xEF).chr(0xBB).chr(0xBF);也不好用
mb_convert_encoding($line,"shift-jis","utf-8");
$fh = fopen($logpath,"a");
fwrite($fh,$line);
乱码怎么解决呢?

解决方案 »

  1.   

    $line = '这里是日文字符串';
    $line = chr(0xEF).chr(0xBB).chr(0xBF);
    前面的line被覆盖了,或者你只是贴错了?
      

  2.   

    这个只能去改文本文件的编码,好像直接改成编码unicode格式,再用excel打开就没问题了
      

  3.   

    是着急贴错了。
    $line = '这里是日文字符串';
    $line = chr(0xEF).chr(0xBB).chr(0xBF).$line;也不好用
    mb_convert_encoding($line,"shift-jis","utf-8");
    $fh = fopen($logpath,"a");
    fwrite($fh,$line);
      

  4.   

    这得看你的源码文件是不是shift-jis编码的,也就是:'这里是日文字符串';这个字面常量是不是shift-jis编码的。
      

  5.   

    PHP的源码文件编码是UTF-8的,而且带BOM签名。但把BOM签名去掉也不好用。
      

  6.   

    $line = mb_convert_encoding($line,"shift-jis","utf-8");另外日语没有“这”,转换会变成 ?
      

  7.   

    csv貌似只有打开gb2312的中文不乱码。。
    我php页面格式是utf-8的时候,输出csv,还是得用iconv将格式给转换了
    这个http://apps.hi.baidu.com/share/detail/34013284http://download.csdn.net/detail/psdshow/617152#comment   不知道对你有帮助没