请教Delphi2010中使用Idhttp Post 中文乱码(Indy10.5.5) |
缺席
|
allen-86
一般會員 發表:28 回覆:44 積分:19 註冊:2008-02-01 發送簡訊給我 |
纯英文是没有问题的,返回值如果是有中文也能正确接收、显示。
但是一有中英文或者中文post的时候,经WPE查看发出的封包为几个问号(?????)。 代码如下: procedure TForm1.btnTextClick(Sender: TObject); var htp:TIdHTTP; sUrl,sname:string; iLen:Int64; //sPostData:TIdMultiPartFormDataStream; sname:='{"strName":"' edtLogName.Text '","type":"L"}'; iLen:=Length(sname); htp:=TIdHTTP.Create(nil); htp.ProtocolVersion:=pv1_1; htp.HTTPOptions:=[hoForceEncodeParams,hoKeepOrigProtocol];//强制使用HTTP 1.1 with htp.Request do begin Host:='xxx.xxx.xxx'; UserAgent:='Mozilla/5.0'; AcceptLanguage:='zh-cn,zh;q=0.5'; AcceptEncoding:='gzip,deflate'; AcceptCharset:='GB2312,utf-8;q=0.7,*;q=0.7'; Connection:='keep-alive'; ContentType:='text/plain; charset=utf-8'; Referer:='http://reg.51v.cn/'; ContentLength:=iLen; Pragma:='no-cache'; CacheControl:='no-cache'; CustomHeaders.Add('X-AjaxPro-Method: CheckUserOnclick'); end; Memo1.Clear; //sPostData:=TIdMultiPartFormDataStream.Create; sPostData:=TStringList.Create; sPostData.Text :=sname; edtLogName.Text=‘ab123’ 是ok的 2.edtLogName.Text=‘测试’ 查看WPE封包为几个问号 多谢各位
------
The empty vessels make the greatest sound. 編輯記錄
allen-86 重新編輯於 2010-07-19 16:31:39, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |