unicode工程施用CMarkup类读取xml保存的时候就乱码

unicode工程使用CMarkup类读取xml保存的时候就乱码
<?xml version="1.0" encoding="gb2312"?>
<ListCtrl Version="1.0.0.1">
  <List MaxCount="5">
  </List>
</ListCtrl>
原始如上,使用下面代码:
  CMarkup clsMarkup_XML;
 bResult = clsMarkup_XML.Load(_T("1.xml"));
 clsMarkup_XML.Save(_T("1.xml"));
后xml变为
<?xml version="1.0" encoding="gb2312"?>
<ListCtrl Version="1.0.0.1">
  <List MaxCount="5">
  </List>
</ListCtrl>
葺葺葺P?葺

后面有一堆乱码。unicode工程才会有这个问题,MBCS没问题。。求教怎么在unicode工程不这样乱码。
------解决方案--------------------
先将数据转码为unicode,然后再解析

事实上,xml 封装unicode编码,使用的应该是utf-8

所以,你也可以将其转换为utf-8后再试试CMarkup