$xmlContent = '假设这个字符串里是一段格式良好的XML文本信息、其中包括了特殊字符';// 此处使用 mb_detect_encoding($xmlContent); 输出的结果是UTF-8// 写入文件
$xmlFile = fopen("file.xml","w");
fwrite($xmlFile,$xmlContent);
fclose($xmlFile);
另、引用的全局配置文件有如此设置 header("Content-Type:text/html; charset=UTF-8");用记事本打开file.xml文件、另存为、显示的是ANSI编码我需要将file.xml保存为UTF-8、怎么改代码?

解决方案 »

  1.   


    怎么看?  PHP文件编码是UTF-8   头部还设置了header("Content-Type:text/html; charset=UTF-8");
      

  2.   

    确实, 你的代码我测试过了。我这边没问题。。
    你仔细检查下。php文件,echo mb_detect_encoding($xmlContent);是否为utf-8  
      

  3.   

      问题解决了、原因是mb_detect_encoding这个方法、查看到的字符串中只要有类似中文等字符便认为这段字符串是UTF-8的、气死我了
      

  4.   

    $xmlContent = '假设这个字符串里是一段格式良好的XML文本信息、其中包括了特殊字符';echo mb_detect_encoding($xmlContent, array('utf-8', 'gbk'));//CP936echo mb_detect_encoding( iconv('gbk', 'utf-8', $xmlContent), array('utf-8', 'gbk'));//UTF-8
      

  5.   

    用记事本打开file.xml文件、另存为、显示的是ANSI编码我需要将file.xml保存为UTF-8、怎么改代码?