|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2016/4/10 20:28:59 |
标题: |
|
加入我的收藏 |
楼主: |
最近做微信支付和微信消息,在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;
----------------------------------------------
- |
作者: |
|
2016/4/11 11:22:47 |
1楼: |
感谢分享!收藏学习!
----------------------------------------------
你我,都可以是个造梦者!欢迎加入脚本引擎PaxCompiler交流群303904495http://www.cnblogs.com/fireboxsoft有需要错别字检测软件的朋友可以在我博客上的地址下载使用,备注“2ccc”的朋友可以免费获取超级黄金VVVVVVVVVVIP授权
|
作者: |
|
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;
----------------------------------------------
-
|
|