QT3 读XML文件 显示汉字有关问题 高手请帮帮忙

QT3 读XML文件 显示汉字问题 高手请帮帮忙

<?xml version="1.0" encoding="GB2312"?>
<LIST>
    <NODE value="2001">
<LANGUAGE value="en">
<content value="content2001"></content>
<cause value="cause2001"></cause>
<measure value="measure2001"></measure>
</LANGUAGE>
<LANGUAGE value="ch">
<content value="内容2001"></content>
<cause value="原因2001"></cause>
<measure value="处理2001"></measure>
</LANGUAGE>
    </NODE>
    <NODE value="2002">
<LANGUAGE value="en"> 
<content value="content2002"></content>
<cause value="cause2002"></cause>
<measure value="measure2002"></measure>
</LANGUAGE>
<LANGUAGE value="ch">
<content value="内容2002"></content>
<cause value="原因2002"></cause>
<measure value="处理2002"></measure>
</LANGUAGE>
    </NODE>
</LIST>

上面是XML文件
我通过

...
     QDomNode n = nlst.item(i);
     n.toElement().attribute("value");
...

读取value值 可是读回来汉字部分都是“???”
改用下面写法也无效

...
     QTextCodec *gbk_codec = QTextCodec::codecForName("GBK");
     node.content = gbk_codec->toUnicode(n.toElement().attribute("value"));
...

求帮忙解决~先谢谢了

------解决方案--------------------

node.content = gbk_codec->toUnicode(n.toElement().attribute("value"));
改成
node.content = gbk_codec->toUnicode(n.toElement().attribute("value").toAscii());
------解决方案--------------------
没用过Qt3,你最后的尝试表明你的思路有问题。

你应该确保你的xml是作为gb2312读入的,而不是读入错误后再去想办法修正(有些东西是不可逆的,gbk的字节流作为utf8解码后,你不能再通过它得到gbk流)