Delphi NativeXML 乱码的问题

我遇到 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; 这个方法会把你设置的属性全部清除。

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

原文地址:https://www.cnblogs.com/weijie-liu/p/10076741.html