我希望用PHP的DOM函数生成XML文档,如果文档中有中文就出错,即使用CDATA包含中文也没用,代码如下:  
  require('conn.php');  
 $owen1='学生工作';  
 header('Content-type:text/xml');  
 $result=$conn->query("select * from news where BigClassName='$owen1' limit 4");    
 if ($result)  
 {   
 $dom = new DOMDocument('1.0','UTF-8');  
 $dom->formatOutput=true;  
 $rcs = $dom->createElement("rss");        
 while ($row=$result->fetch_assoc()){  
 //print_r($arr);   
 $rc = $dom->createElement("channel");  
     $mydate=$dom->createElement("title");  
     $myname = $dom->createElement("link");        
     $mydescription=$dom->createElement("description");  
  $myhp=$dom->createElement("item");  
  $date=$row['title'];  
     $datetext = $dom->createTextNode('');  
     $mydate->appendChild($datetext);  
     $nametext=$dom->createTextNode($name);  
     $myname->appendChild($nametext);  
     $hptext=$dom->createTextNode($hp);  
     $myhp->appendChild($hptext);  
     $descriptiontext=$dom->createTextNode($description);  
     $mydescription->appendChild($descriptiontext);  
     $rcs->appendChild($rc);  
     $rc->appendChild($mydate);  
     $rc->appendChild($myname);  
     $rc->appendChild($myhp);  
     $rc->appendChild($mydescription);    
 }   
   $dom->appendChild($rcs);  
      echo $dom->saveXML();         
 }   
 执行,就提示在最新动态这遇到不合格式的字符,要怎么改啊   
回复讨论(解决方案)
   补充下,我这个PHP文件编码是gb2312的 
   写入 XML 的要用 utf-8 编码的数据  
 两个方案:  
 1、在你的代码中就从数据库中读出的数据都用 iconv 函数转码  
 $date = iconv('gbk', utf-8', $row['title']);  
 $datetext = $dom->createTextNode(iconv('gbk', utf-8', ''));  
 其他类同  
  
 2、直接从数据库中读取 utf-8 编码的数据  
 $conn->query("set nemes utf8");  
 $owen1 = iconv('gbk', utf-8', '学生工作');  
 其他都不变