TIdHTTPRequestInfo中文乱码

gzjetway 2010-01-02 11:08:00
我使用的是bcb 2010,在接收到client数据中有中文时,解码怎么都不成功?请问有什么办法解决吗?
在bcb6上使用正常的,但是在2010上就没有办法解决了?
...全文
809 12 打赏 收藏 转发到动态 举报
写回复
用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 字符集试试?

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧