Delphi XE5 + CIS 7.8用于XE5,当POST使用中文表单字段值时,如下所示
ClHttpRequest.AddFormField(“状态”,“待处理”);
itAutoStatus := '待处理' ;
mmo1.Lines.Add( ' 汉字为 : <'+ itAutoStatus +'>' ) ; // <待处理>
a2us := AnsiToUtf8(itAutoStatus) ;
mmo1.Lines.Add( ' 汉字AnsiToUtf8为 : <' + a2us +'>' ) ; // <待处理>
gbs := HTTPEncode(itAutoStatus);
mmo1.Lines.Add( ' 汉字HTTPEncode为 : <' + gbs +'>' ) ; // <%B4%FD%B4%A6%C0%ED>
utfs := HTTPEncode(AnsiToUtf8(itAutoStatus));
mmo1.Lines.Add( ' 汉字HTTPEncode(AnsiToUtf8())为 : <' + utfs +'>' ) ; // <%E5%BE%85%E5%A4%84%E7%90%86>在pageNo=1&total=&SortField=&SortType=&PromTitle=&C1=&Status=%E5%BE%85%E5%A4%84%E7%90%86中,右原始流是: IE8
ClHttpRequest.AddFormField(“状态”,“待处理”);
CIS默认的原始流是: pageNo=1&total=&SortField=&SortType=&PromTitle=&C1=&Status=%B4%FD%B4%A6%C0%ED
clHttpRequest.AddFormField('Status',HTTPEncode(AnsiToUtf8(‘待处理’));
现在CIS的原始流是: pageNo=1&total=&SortField=&SortType=&PromTitle=&C1=&Status=%25E5%25BE%2585%25E5%25A4%2584%25E7%2590%2586
clHttpRequest.AddFormField添加字符串'25',这样web服务器就不会有数据库查询结果。
我想要制作像IE8这样的原始流,如何解决这个问题?谢谢!
发布于 2013-11-13 02:30:53
已解决
clHttpRequest.Header.CharSet := 'UTF-8';
https://stackoverflow.com/questions/19943452
复制相似问题