解决delphi XE5中使用RESTClient提交Body类型的乱码问题
2014-01-04 14:17
405 查看
自己看了很多的贴子,都满足不了我的需求。。
后来无意中看到一个关于TStringStream的代码。。
然后试了一下,尽然可以了。。可喜可贺。记录一下。。
例子:
P.S.
最终还是有问题,查了很多资料后发现虽然如上述一样成功转换成了UTF8格式,但是TRest引用的indy idhttp组件中在post的时候会将UTF8转为ANSIString,会导致中文某些字符丢失或成?。。最后我还是直接用了idhttp来实现rest的功能,希望XE5以后会改进。代码如下:
后来无意中看到一个关于TStringStream的代码。。
然后试了一下,尽然可以了。。可喜可贺。记录一下。。
例子:
tRestRequest.AddBody(TStringStream.Create('{"test":"123abc试试"}',TEncoding.UTF8),TRESTContentType.ctAPPLICATION_JSON); tRestRequest.Execute;
P.S.
最终还是有问题,查了很多资料后发现虽然如上述一样成功转换成了UTF8格式,但是TRest引用的indy idhttp组件中在post的时候会将UTF8转为ANSIString,会导致中文某些字符丢失或成?。。最后我还是直接用了idhttp来实现rest的功能,希望XE5以后会改进。代码如下:
idHttp:=TIdHTTP.Create(nil); idHttp.Request.ContentType:='application/json'; //请求 rURL:='http://www.simple.com/simpleapi'; lResponse:=idHttp.Post(rURL,TStringStream.Create('{"user":"'+User+'","password":"'+Pass+'"}',TEncoding.UTF8)); rJson:=TJSONObject.ParseJSONValue(lResponse) as TJSONObject;
相关文章推荐
- Orace查询数据出现乱码的问题解决思路
- oracle em 按钮乱码解决办法及em网页变成英文
- 插件管理框架 for Delphi(一)
- delphi中一个值得大家来考虑的DLL问题
- delphi 正弦曲线图
- delphi建立、读取、存贮INI文件的方法《三》
- delphi建立、读取、存贮INI文件的方法《二》
- Delphi建立、读取、存贮INI文件的方法《一》
- mysql命令提示行连接乱码的解决
- 初探Delphi中的插件编程
- Jquery乱码的一次解决过程 图解教程
- Delphi Command模式
- 解决realplayer11中文正式版网页右键乱码问题embed_cn.dll
- php+AJAX传送中文会导致乱码的问题的解决方法
- Discuz!nt 源文件变成乱码的解决方法
- jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
- JavaScript中出现乱码的处理心得
- Js,alert出现乱码问题的解决方法
- 深入Lumisoft.NET组件开发碰到乱码等问题的解决方法
- jquery中文乱码的多种解决方法