请教大牛们 php能让生成的xml文件格式定死为unix utf-8格式吗
为什么我每次生成的都是 pc ANSI格式的
上代码:请大牛们帮我看下 怎么改就能让生成的文件格式是unix utf-8格式的,谢谢大哥大姐帮忙了:<?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的 祝好人有好报
为什么我每次生成的都是 pc ANSI格式的
上代码:请大牛们帮我看下 怎么改就能让生成的文件格式是unix utf-8格式的,谢谢大哥大姐帮忙了:<?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的 祝好人有好报
只要写的时候 $dh2 = fwrite($dh, "\xef\xbb\xbf" . $str); 就可以了如果是 gbk 的,需要转码
$str = iconv('gbk', 'utf-8', $str);若要完全符合 unix 格式,还需要去掉‘回车’符
$str = preg_replach("/[\r\n]+/s", "\n", $str);
"\xef\xbb\xbf" 就是 BOM 头
大哥 拿掉那个头生成的文件格式就变成UNIX ANSI了 我要的是UTF-8啊 难道真的没有办法?在线等
所以没有 BOM 时,是无法区分 这个'A'是 utf-8 的'A'还是 ANSI 的'A',因为他们的内码是一样的
内容中有:<node>巴拉巴拉巴拉</node>
按你这么说 有中文应该是utf-8啊 奈何是ANSI啊 我的内容中肯定会有好多中文的 我只有一个要求就是生成的文件格式是utf-8(备注:不是utf-8+),csdn这么多星星人才 难道真的搞不定 继续在线等 大雨里跪求 今天就专门解决这个问题了