DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: wjy13061029975
今日帖子: 2
在线用户: 3
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 olddelphier (oldDelphier) ▲▲▲▲△ -
普通会员
2016/4/10 20:28:59
标题:
xe4 idhhtp中文乱码处理 浏览:1397
加入我的收藏
楼主: 最近做微信支付和微信消息,在Delphi7 下正常,XE4下遇到中文乱码,
简单的解决了一下,放出来给大家参考
这个是https的,需要那两个dll在exe的目录


    function  idpostdata(url:string;paramStr:AnsiString ):String;
        var
        sm:TStringStream;
        id:Tidhttp;
        iohandle:TIdSSLIOHandlerSocketOpenSSL;
        begin
        sm:=TStringStream.Create(AnsiToUtf8(paramStr)) ;
        id:=Tidhttp.Create(nil)  ;
        iohandle:=TIdSSLIOHandlerSocketOpenSSL.Create(nil) ;
        try
          try
          id.IOHandler:=iohandle;
          iohandle.SSLOptions.Method:=sslvTLSv1  ;
          result:=id.Post(url,sm);
          except

          end;
        finally
          FreeAndNil(iohandle);
          FreeAndNil(id);
          FreeAndNil(sm);
        end;
        end;
----------------------------------------------
-
作者:
男 isxuzhu (e.Wong) ★☆☆☆☆ -
盒子活跃会员
2016/4/11 11:22:47
1楼: 感谢分享!收藏学习!
----------------------------------------------
你我,都可以是个造梦者!欢迎加入脚本引擎PaxCompiler交流群303904495http://www.cnblogs.com/fireboxsoft有需要错别字检测软件的朋友可以在我博客上的地址下载使用,备注“2ccc”的朋友可以免费获取超级黄金VVVVVVVVVVIP授权
作者:
男 olddelphier (oldDelphier) ▲▲▲▲△ -
普通会员
2016/5/3 15:06:18
2楼: idhttp.get也有乱码

简单处理如下:
   function  idGetdata(url:string):ansiString;
        var
        id:Tidhttp;
        iohandle:TIdSSLIOHandlerSocketOpenSSL;
        s:TStringStream;
        begin
        id:=Tidhttp.Create(nil) ;
        iohandle:=TIdSSLIOHandlerSocketOpenSSL.Create(nil) ;
        s:=TStringStream.Create('',TEncoding.UTF8) ;//格式最重要
        try
          try
          id.IOHandler:=iohandle;
          iohandle.SSLOptions.Method:=sslvTLSv1;
          id.Get(url,s);
          result:=s.DataString;
          except
          end
        finally
          FreeAndNil(s);
          FreeAndNil(iohandle);
          FreeAndNil(id);
        end;
        end;
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行115.2344毫秒 RSS