delphi7 通过IdHTTP1.Post 取得一个UTF8 的字符串,如何把他还原成中文(急)

microd 2014-05-05 09:16:59
delphi7 通过IdHTTP1.Post 取得一个UTF8 的字符串,如何把他还原成中文(字符串中用带中文)?
用Utf8ToAnsi()函数没法还原,showmessage 出来的还是原生UTF8 字符串
...全文
2309 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcmakebest 2014-05-17
  • 打赏
  • 举报
回复
Utf8ToAnsi 应该可以的,是否转换前已经乱了
sczyq 2014-05-16
  • 打赏
  • 举报
回复
var S : String; .................... S := IdHTTP1.Post(......, IndyTextEncoding_UTF8); // 最后一个参数
金卯刀 2014-05-05
  • 打赏
  • 举报
回复
注意大小端处理。 有些字串发送前,并未做编码处理,默认会是ascci。 d2009:TStrings 默认编码为 UTF-8,如果这样处理,就不需要转字节码

var
  server: TIdHttp;
  Parameters: TStringList;
  Response: TStringStream;
begin
  response := TStringStream.Create;
  Parameters := TStringList.Create;
  Parameters.Add('param1=Value1');
  Parameters.Add('param2=عربي/عرب');
  Parameters.Add('param3=Value3');
  Server.Post('http://www.example.com/page.php',Parameters,response);
end;
也可以这样指定
[code=delphi]
Server.Request.ContentType := 'application/x-www-form-urlencoded';
Server.Request.Charset := 'utf-8';
[/code]
金卯刀 2014-05-05
  • 打赏
  • 举报
回复
要先把字节码转为utf8,再转为Utf8ToAnsi

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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