--------开发环境是Delphi XE10--------

这里要说的是BUG问题,

var
respStream : TStringStream; respStream.DataString有问题,中文部分乱码!

解决方法也在代码当中

----------------------------

 1 unit u_Main;
2
3 interface
4
5 uses
6 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
7 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.Menus, Vcl.StdCtrls,
8 IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdMultipartFormData;
9
10 type
11 TFrmMain = class(TForm)
12 PageControl1: TPageControl;
13 tabsMESPacking: TTabSheet;
14 IdHTTP1: TIdHTTP;
15 Edit1: TEdit;
16 Button1: TButton;
17 Memo1: TMemo;
18 Edit2: TEdit;
19 procedure Button1Click(Sender: TObject);
20 private
21 { Private declarations }
22 public
23 { Public declarations }
24 end;
25
26 var
27 FrmMain: TFrmMain;
28
29 implementation
30
31 {$R *.dfm}
32 function StreamToString(mStream : TStream) : AnsiString;
33 var
34 I : Integer;
35 begin
36 Result := '';
37 if not Assigned(mStream) then Exit;
38 SetLength(Result , mStream.Size);
39 for I := 0 to Pred(mStream.Size) do
40 try
41 mStream.Position := I;
42 mStream.Read(Result[Succ(I)] , 1);
43 except
44 Result := '';
45 end;
46 end;
47
48 procedure TFrmMain.Button1Click(Sender: TObject);
49 var
50 postStream,respStream : TStringStream;
51 ss,aa:string;
52 vstream:TMemoryStream;
53 begin
54 postStream := TStringStream.Create(Memo1.Text);
55 respStream:=TStringStream.Create('');
56 vstream:=TMemoryStream.Create;
57 IdHTTP1.Request.CharSet:='utf-8';
58 IdHTTP1.Request.ContentType := 'application/json';
59 IdHTTP1.Post(Edit1.Text,postStream,respStream);
60 ss:=respStream.DataString;
61
62 respStream.SaveToStream(vstream);
63 aa:=UTF8ToString(StreamToString(vstream));
64 Edit2.Text:=aa;
65 end;
66
67 end.

Delphi中IdHttp调用接口,返回值乱码的更多相关文章

  1. 为什么阿里巴巴Java开发手册中强制要求接口返回值不允许使用枚举?

    在阅读<阿里巴巴Java开发手册>时,发现有一条关于二方库依赖中接口返回值不允许使用枚举类型的规约,具体内容如下: 在谈论为什么之前先来科普下什么是二方库,二方库也称作二方包,一般指公司内 ...

  2. nginx访问日志中添加接口返回值

    因为nginx作为web服务器时,会代理后端的一些接口,这时访问日志中只能记录访问接口的status码,也就是说,只能获得200.404 这些的值 那么如何获得接口返回的response值呢? 下面开 ...

  3. asp+vb.net解决调接口返回中文乱码问题

    1.问题描述 涉及语言:vb,vbscript,vb.net,asp 最近在工作中碰到了这样一个问题:需要调用一个接口解析简历文件中的关键信息.直接用postman测试该接口,接口返回值没问题,但一旦 ...

  4. C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解

    前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 C#进阶系列——WebApi接口传参不再困惑:传参详解  ...

  5. (转载)delphi 中如何调用sql 存储过程

    delphi 中如何调用sql 存储过程 使用TADOStoredProc组件,可以,给你举个例子好了 with ADOStoredProc1 do begin Close; Parameters.C ...

  6. WebApi 接口返回值类型详解 ( 转 )

    使用过Webapi的园友应该都知道,Webapi的接口返回值主要有四种类型 void无返回值 IHttpActionResult HttpResponseMessage 自定义类型 此篇就围绕这四块分 ...

  7. WebApi接口返回值不困惑:返回值类型详解

    前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.作为程序猿,我们都知道参数和返回值是编程领域不可分割的两大块,此前分享了 ...

  8. WebApi 接口返回值不困惑:返回值类型详解。IHttpActionResult、void、HttpResponseMessage、自定义类型

    首先声明,我还没有这么强大的功底,只是感觉博主写的很好,就做了一个复制,请别因为这个鄙视我,博主网址:http://www.cnblogs.com/landeanfen/p/5501487.html ...

  9. (转)C# WebApi 接口返回值不困惑:返回值类型详解

    原文地址:http://www.cnblogs.com/landeanfen/p/5501487.html 正文 前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi ...

  10. [转]C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解

    本文转自:http://www.cnblogs.com/landeanfen/p/5501487.html 阅读目录 一.void无返回值 二.IHttpActionResult 1.Json(T c ...

随机推荐

  1. 【小记】copy 与 copy_backward

    copy 与 copy_backward copy 从前往后复制,result 参数指向目标容器的 begin 位置 copy*backward 从后往前复制,··· end 位置 Possible ...

  2. 高德地图poi关键字搜索-vue+ant-design

    最近有个需求,需要输入上车点,下车点,然后输入上车点的时候还要在下方显示地图附近的车辆.百度了一波之后,完全莫得头绪,很多代码也都用不了,即便改了之后也不怎么生效.我用的是jeecg-boot.最后静 ...

  3. taobao.tbk.sc.newuser.order.get( 淘宝客-服务商-新用户订单明细查询 )

    淘宝客订单表结构设计(mysql) CREATE TABLE `tbk_order` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `member_id` bi ...

  4. oceanbase 社区版安装

    # 一.环境准备|节点类别|主机名|IP||-|-|-||OBSERVER|observer1|192.168.3.41||OBSERVER|observer2|192.168.3.42||OBSER ...

  5. Vue v-once指令 和 v-pre指令

    v-once指令: 1.v-once 所在节点在初始化动态渲染后,就视为静态内容了 2.以后数据的改变不会引起v-once所在结构的更新,可用于优化性能 v-pre指令: 1.跳过其所在节点的编译过程 ...

  6. flex布局,均分的剩余空间不等分问题

    flex布局:使用flex-grow均分剩余空间,每个盒子都要给个初始宽度,才能均分

  7. curl 与 header 及 file_get_countents 访问内容时的区别

    在开发中 想用curl 或者是file_get_contents 模拟请求或者是获取数据时 ,经常会发现获取到的内容与想象中的不一样,主要原因在与这两个走得host要走外网,在内网及测试环境下host ...

  8. Lua中__index元方法的介绍与使用

    一.相关介绍请参考:Lua中__index原方法介绍 二.使用示例 代码如下: 下面示例使用的元素迭代器 --1.列表元素迭代器,仅返回列表中每一个元素,改列表索引必须为连续的数字 function ...

  9. 查询某数据库的某字段存在于哪些表 mysql

    select column_name,column_comment,data_type ,table_name  from information_schema.columns where table ...

  10. C# NN算法实现

    NN算法的核心是,欧式距离(Euclid),在分类的数据中,找到与目标数据欧式距离最近的点,把目标点分类到其类,算法很简单,下面是C#代码的实现: namespace LocationService. ...