日期:2014-05-17  浏览次数:20578 次

php生成xml文件格式问题
请教大牛们 php能让生成的xml文件格式定死为unix utf-8格式吗
为什么我每次生成的都是 pc ANSI格式的
上代码:请大牛们帮我看下 怎么改就能让生成的文件格式是unix utf-8格式的,谢谢大哥大姐帮忙了:
PHP code

<?php
header("content-type:text/html;charset=utf-8");
$str = <<<EOF
<?xml version="1.0" encoding="utf-8"?>
<node>巴拉巴拉巴拉</node>
EOF;
//if(file_put_contents("F:/over.xml",$str)) {
//    echo "yesyesyes";
//} else {
//    echo "nononon";
//}

$dh = fopen("f:/over.xml","w");
$dh2 = fwrite($dh,$str);
fclose($dh);
?>




生成的文件 用editplus打开是pc ANSI格式的 我要生成的格式是unix utf-8的 祝好人有好报


------解决方案--------------------
那你的这个php程序文件要保存为unix utf-8格式
------解决方案--------------------
你的程序文件是 utf-8 的
只要写的时候 $dh2 = fwrite($dh, "\xef\xbb\xbf" . $str); 就可以了

如果是 gbk 的,需要转码
$str = iconv('gbk', 'utf-8', $str);

若要完全符合 unix 格式,还需要去掉‘回车’符
$str = preg_replach("/[\r\n]+/s", "\n", $str);