按照XML格式,一个个echo出来吧

解决方案 »

  1.   

    1.从数据库中显示的数据没有问题,但是存成xml文件后,在通过http访问就不行了,说是格式有问题
    不过将xml文件的头的编码方式encoding改成gb2312就能访问了,不知道什么原因。
    2.在mysql中通过工具phpadmin,来建表插入数据(带有中文的数据)的时候,显示的时候有乱码,不知道什么原因
      

  2.   

    把encoding=gb2312给echo出来,我也遇到过这个问题.
      

  3.   

    你的数据库用的什么编码存储数据?数据库里存储数据所用编码要和调用页面编码一致。xml文件默认是utf-8格式
    如果你数据库也是utf8存储,链接上数据库后加上
    mysql_query("set names 'utf8'");如果你存储xml以GBK编码,那么上面那句换成
    mysql_query("set names 'GBK'");另外,GB2312好些中文字符不支持,所以,如果你非要用GB2312,那么,XML编码设置成GBK,包涵的中文字符比
    GB2312多,这样就不会出现乱码了。我也是初学php,mysql,xml,最近被编码问题搞的头疼,上面是最近的一点经验总结,欢迎高手指正。
      

  4.   

    同LS,建议做以下修改:
    $dom = new DOMDocument('1.0','utf-8');
    $root = $dom->createElement("group");
    $dom->appendChild($root);
    mysql_query("set names 'utf8'"); 
    $result0 = mysql_query("select name,desc,direct,mss,mss_port from base_info ");if (!$result0) {
        echo 'Could not run query: ' . mysql_error();
        exit;
    }
    else
    {  $row = mysql_fetch_row($result0);
      $root->setAttribute('name',$row[0]);
      $root->setAttribute('desc',$row[1]);
      $root->setAttribute('direct',$row[2]);
      $root->setAttribute('mss',$row[3]);
      $root->setAttribute('mss_port',$row[4]);
    }
    $xmlfile='test5.xml';
    if ($dom -> save($xmlfile))
      {       
        echo 'Configuration successfully saved!';
      iconv("utf-8","gb2312",$xmlfile);}
    还有要注意编码格式要保持一致,三个方面:数据库,代码中,文件保存格式。