Delphi通过ITHTTP传输有汉字乱码问题

1 概述

        本人在使用Delphi开发过程中,需要通过服务进行不同系统间的数据传输,为保证对数据进行有效传输。在开发结果模拟测试中,本人发现所有汉字都是乱码,经过网上资料查询及本人实践测试,并汇总形成本文,供大家参考使用。

  2 开发环境

开发环境:Delphi 2010

第三方组件:SuperObject

传输协议:TCP/IP

数据格式:JSON

服务控件:

      CLIENT端:IDHTTP

      SERVER端:IDHTTPSErver

3 写在开发前

为简化JSON数据的组合、解析工作,本人使用专为 Delphi 设计的开源JSON处理库SuperObject。所以,需要在文件头引用部分增加superobject的引用。

Server端接收服务信息是使用IDHTTPserver的onCommandGet事件中(代码请见第5部分B小节)。另,因为onCommandGet需要使用TidContext,所以在文件头引用部分增加IdContext的引用。

Client端引用:Uses superobject;

Server端引用:Uses superobject, IdContext;

4 CLIENT端开发

A 控件说明

A.1 接口服务控件:IDHTTP

A.2 报文展示信息:包括3个memo控件,分别显示:发送的原始报文信息(memobaowen1)、经过编码处理的报文信息(memobaowen2),Server端发回的响应报文(memoinfo)

A.3 发送报文按钮:点击按钮则发送报文

B 源代码示例

procedure Tmainf

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值