张志峰的博客

水滴石川,积少成多。

导航

Delphi NativeXML 乱码的问题

Posted on 2013-08-16 17:28  ╰★张志峰★╮  阅读(473)  评论(0编辑  收藏  举报

 

 
我遇到 NativeXML 在它的一个节点的属性上面写入属性,但是当读出的值中包含汉字的时候出现了乱码。检查代码如下

NativeXml := TNativeXml.Create;

try

      NativeXml.EncodingString := 'GB2312';// 'UTF-8'; 
      NativeXml.Utf8Convert := True;
      NativeXml.BinaryEncoding := xbeBinHex;
      NativeXml.Clear;
      NativeXml.LoadFromFile(strFilePath);
      RootNode := NativeXml.Root;
      CurrNode := RootNode.NodeByName(CurrRepDirXmlNode);
      strRepDir := CurrNode.ReadAttributeString(CurrRepDirXmlNode);

finally
       NativeXml.Free;
end;

我觉得设置的没有问题,但只要有汉字就是乱码,原来是调用了NativeXML.clear; 这个方法会把你设置的属性全部清除。

把这行代码清除了,就可以完全正确了,唉!不能粗心大意啊。