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

时间: 2024-10-22 09:22:21

Delphi NativeXML 乱码的问题的相关文章

delphi+mysql乱码问题解决方案

我的数据库的字符集是utf8 1.插入数据 2.读取数据

Delphi xe5 控件TIdhttp的用法post,get解决中文乱码问题

网络接口如下图: 浏览器演示如下:http://xxx.xxx.xxx.xxx/web/login!doLogin?data={"password":"yy123","userCode":"yyy123","terminalCode":"123"} 返回信息是一个json格式的字符串:{"errorMsg":"登录成功!","result

如何解析DELPHI XE5服务器返回的JSON数据(翻译)及中文乱码

[plain] view plain copy print? <span style="font-size:14px;">一直想找如何解析JSON数据的说,今天终于找到有人发帖子了.之前有人说用superobject,Tlkjson,delphi json library,delphi  web unit等等.其实我是想找比较简单的解析方式.解析简单的json.下面是转载的坦然的源码. </span> [delphi] view plain copy print

问题-delphi 程序在某电脑中显示???问号 乱码

问题现象:delphi 程序在某电脑中显示???问号 乱码 问题原因:因为语言的原因.不同的国家可能显示的编码不一样. 问题处理:“控制面板”>“区域和语言选项”>“区域选项”>“标准和格式”区选择“中文(中国)”>“位置”区选择“中国”>“高级”选项里的“非Unicode程序的语言”区选择“中文(中国)>确定后退出

(转)Delphi 调用C#编写的WebService 参数为Null解决方法 附中文乱码问题

(转)Delphi 调用C#编写的WebService 参数为Null解决方法 附中文乱码问题 //add-------to support UTF-8     RIO.HTTPWebNode.UseUTF8InHeader := true;  //添加该行,指定采用UTF-8代码传输     RIO.Converter.Encoding:='UTF-8';     RIO.Converter.Options:=RIO.Converter.Options + [soUTF8InHeader,so

delphi请求http接口中文乱码问题

请求http接口的时候参数值是中文乱码: http接口一般都是由java,php以及C#开发而成的,乱码的原因也是由于编码的问题,一般传递数据的都是utf8,然后传递的时候都会urlEcode 那么delphi如何解决这个问题呢? 请看下面的实例,实例中的"哈哈"二字就是中文: procedure TClientForm.Button77Click(Sender: TObject);var paramStream: TIdMultiPartFormDataStream; vRespon

Delphi中System.Zip中文文件名乱码解决

新版本Delphi中自带的Zip单元System.Zip使用很方便,但是在压缩文件中包含中文路径或文件名时解压后是乱码,这一点儿确实挺烦人. 之所以会出现乱码是由以下两个函数造成的: 1 function TZipFile.TBytesToString(B: TBytes): string; 2 var 3 E: TEncoding; 4 begin 5 if FUTF8Support then 6 E := TEncoding.GetEncoding(65001) 7 else 8 E :=

delphi 7 获取当前网址并解决乱码问题

const Url = 'http://del.cnblogs.com'; procedure Tidhttptestform.Button1Click(Sender: TObject);var stream:TStringStream; idHttpObj:TIdHTTP;begin stream := TStringStream.Create(''); idHttpObj := TIdHTTP.Create(nil); idHttpObj.Get(Url, stream); idHttpOb

delphi TIdHTTP Post乱码问题

这里主要说的是中文乱码的问题 1. 发过去的是乱码如下处理, 服务器采用的是UFT-8编码的情况下 uses  HTTPApp;      sPost := HTTPEncode(UTF8Encode('中文处理')); 2. 返回的是乱码如下处理 ResponseStream:=TStringstream.Create('',TEncoding.UTF8); idhttp.Post(ConnectUrl,sends,ResponseStream);