社区
网络及通讯开发
帖子详情
TIdHTTPRequestInfo中文乱码
gzjetway
2010-01-02 11:08:00
我使用的是bcb 2010,在接收到client数据中有中文时,解码怎么都不成功?请问有什么办法解决吗?
在bcb6上使用正常的,但是在2010上就没有办法解决了?
...全文
918
12
打赏
收藏
TIdHTTPRequestInfo中文乱码
我使用的是bcb 2010,在接收到client数据中有中文时,解码怎么都不成功?请问有什么办法解决吗? 在bcb6上使用正常的,但是在2010上就没有办法解决了?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lshfong
2010-10-29
打赏
举报
回复
get可以是中文,但post的字符中文还是乱码,怎么回事呢
ARequestInfo->Params->Values["key"]
POST值:ä¸å人æ°å ±åå½
sczyq
2010-03-22
打赏
举报
回复
void __fastcall TNyForm::IdHTTP1Connect(TObject * ASender)
{
IdHTTP1->IOHandler->DefTextExcoding = TIdTextEncoding::Default;
}
yarmy
2010-03-19
打赏
举报
回复
请问下 怎么我找不到IOHandler
gzjetway
2010-01-18
打赏
举报
回复
[Quote=引用 7 楼 sczyq 的回复:]
哈哈!
应该采用 Default 解码器
IdHTTP->OnConnected 事件函数内写上:
void __fastcall TNyForm::IdHTTP1Connect(TObject * ASender)
{
IOHandler->DefTextExcoding = TIdTextEncoding::Default
}
[/Quote]
搞定了,谢谢,确实按照这样的操作就能搞定!
sczyq
2010-01-14
打赏
举报
回复
其他都不用管,如:直接使用
UnicodeString usURL = "http://127.0.0.1/index.php?c=123哈哈";
IdHTTP->Get(usURL );
sczyq
2010-01-14
打赏
举报
回复
哈哈!
应该采用 Default 解码器
IdHTTP->OnConnected 事件函数内写上:
void __fastcall TNyForm::IdHTTP1Connect(TObject * ASender)
{
IOHandler->DefTextExcoding = TIdTextEncoding::Default
}
gzjetway
2010-01-06
打赏
举报
回复
ShowMessage(ARequestInfo->UnparsedParams);
url:http://127.0.0.1/index.php?c=123哈哈
显示的信息是:c=1239~9~
好像还是不行,真的痛苦呀
周药师
2010-01-04
打赏
举报
回复
[Quote=引用 4 楼 gzjetway 的回复:]
引用 2 楼 dxkh 的回复:
2010采用了Unicode字符
如果是Unicode字符,怎么解码成AnsiString?感觉好奇怪的,都不知道怎么解码
[/Quote]
那就直接用 UnicodeString 試試
gzjetway
2010-01-04
打赏
举报
回复
[Quote=引用 2 楼 dxkh 的回复:]
2010采用了Unicode字符
[/Quote]
如果是Unicode字符,怎么解码成AnsiString?感觉好奇怪的,都不知道怎么解码
gzjetway
2010-01-04
打赏
举报
回复
[Quote=引用 1 楼 zhouzhangkui 的回复:]
改成enUTF8 字符集试试?
[/Quote]
试过在Connect的时候,设置用enUTF8,还是一样
我是使用ARequestInfo->UnparsedParams取得Client发出的Get信息体,如果有中文就出现无法解码的情况!好奇怪的
我来看看CB
2010-01-03
打赏
举报
回复
2010采用了Unicode字符
周药师
2010-01-03
打赏
举报
回复
改成enUTF8 字符集试试?
Delphi10中idHttpServer接收中文参数乱码的处理
idHttpServer在开发中比较方便,一般情况都能应付。但在接收浏览器发送的带中文URL时,取参数就会是乱码。经过查找资源,发现大部分浏览器,中文一般会先转码为utf-8,此时,idHttpServer控件会根据请求头中ContentType的Chatset进行相应的转码,以形成正确的参数。但奇怪的是,控件没有取到这个值,因此,就用默认的Charset进行转码,结果就不是我们所希望的。控件又不能显示的设置这个charset,只能折衷地修改一下源码,以适应针对utf-8编码的转码。
delphi ,c++builder idhttpserver ,unigui
中文乱码
idhttpserver 接收 utf8 中文 浏览器一般会自动urlencode 中文 所以 uses System.NetEncoding procedure TUniServerModule.UniGUIServerModuleHTTPDocument( const Document: string; const InParams: TStrings; ARequest
Info
:
TId
HTTPRequest
Info
; AResponse
Info
:
TId
HTTPResponse..
TId
HTTPResponse
Info
中文乱码
问题解决
procedure TFm_Main.onCommandGet(AContext:
TId
Context; ARequest
Info
:
TId
HTTPRequest
Info
; AResponse
Info
:
TId
HTTPResponse
Info
); begin AResponse
Info
.ContentType := 'text/html'; AResponse
Info
.CharSet :
解决Delphi的Indy10组件包
TId
HttpServer控件解码HTTP请求时参数乱码的问题
Delphi6下使用Indy10组件包,其中的
TId
HttpServer控件在处理HTTP请求的时候 不能正确解码含有汉字的参数,如: http://127.0.0.1/test?cmd=open&areaname=测试&areadir=D:\test 对于这个Url,Chrome默认按UTF-8编码发送,IE默认按GBK编码发送,而这两种情况,
TId
HttpServe...
indy httpserver 接收URL包含中文参数乱码的问题
在测试
TId
HttpServer的时候,发现浏览器提交的URL包含中文时会乱码,我用的是XE7 UPDATE1,INDY是10。 procedure TForm1.idhtpsrv1CommandGet(AContext:
TId
Context; ARequest
Info
:
TId
HTTPRequest
Info
; AResponse
Info
:
TId
HTTPResponse
Info
);
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章