XML文档内容如下:
<?xml version="1.0" encoding="utf-8" ?> 
  <DEFINE>
    <FIELD attrname="part" comment="" /> 
  </DEFINE>程序中给FIELD节点的属性comment赋值,其中xNode即为FIELD节点
var str, str1: WideString;
begin
  str := '中华';
  xNode.Attributes['comment'] := str;
  str1 :=xNode.Attributes['comment']; 
end;不知为什么str1的返回值总是乱码???

解决方案 »

  1.   

    第一句改成
    <?xml version="1.0" encoding="GB2312"?>字符集的问题
      

  2.   

    <?xml version="1.0" encoding="UTF-16"?>
      

  3.   

    把文件保存格式改成utf-8 或者 unicode
      

  4.   

    个人感觉是因为UTF8的编码与GB不同。
    解决的方法是用WideString/UTF8String配合UTF8Encode/UTF8Decode来解码。这可能是你的代码的原因,建议你把代码贴出来看看。
      

  5.   

    不好意思,没看完问题……用这个试试看:
    var str, str1: UTF8String;
    begin
      str := UTF8Encode('中华');//如果你用的是utf-16那就换WideString吧。
      xNode.Attributes['comment'] := str;
      str1 :=xNode.Attributes['comment']; 
    end;
      

  6.   

    也可用AnsiToUtf8()及Utf8ToAnsi();UnicodeToUtf8()及Utf8ToUnicode进行转化……
      

  7.   

    XML 對中文支持絕對不好!MS 說這是最新一代的語言,就是對中文say NO!