如何获取IdHTTP1.Response.RawHeaders内的中文

qq_42831536 2019-01-12 11:41:01
使用delphi7获取idhttp1.Response.RawHeaders时,UTF8Decode(idhttp1.Response.RawHeaders.Values['Content-disposition']);
取到的是中文内容“attachment; filename=测试_汇总表.xlsx”,使用XE10,同样的代码UTF8Decode(idhttp1.Response.RawHeaders.Values['Content-disposition']);取到的是乱码“attachment; filename=??????_?????????.xlsx”,用了Utf8ToAnsi、HTTPDecode、TidURI.URLDecode都不行
...全文
291 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_42831536 2019-01-16
  • 打赏
  • 举报
回复
qq_42831536 2019-01-14
  • 打赏
  • 举报
回复
引用

估计是IdHTTP1.Response.RawHeaders获取到信息的编码格式问题,请问怎么查当前获取到数据的编码格式?
lyhoo163 2019-01-13
  • 打赏
  • 举报
回复
这一问题,比较纠集。主要是使用了汉字,汉字对应的字符集,不规范(不一致)造成的。
一是D7不支持Unicode字符,只能使用Widestring进行相应处理。
二是汉字的使用,不仅取决于编程软件对Unicode的识别,同时要求操作系统使用汉字时,有:
GB2312编码、BIG5编码、GBK编码、GB18030编码......
只要编码不对,就会出现???????。
解决的办法,使用Unicode编码:它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。

在编程中,在使用涉及路径文件名时 ,尽可能不使用汉字。规避不必要的麻烦。

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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