[教程]修复 TNetHttpClient Windows 下Header 中包含UTF8编码字符时乱码的问题

[修复思路]

将编码转换回 ACP,然后再用 UTF-8 编码转换回来。

[修复代码]

如果引用 QString 单元,则直接 QString.Utf8Decode(PQCharA(QString.AnsiDecode(Value)),-1) 转换下就可以。

[问题原因]

该问题是由于 Windows 的 WinHttp 实现在返回头部数据时,默认是使用 ACP 编码来处理的,而不是 UTF-8,而 Delphi 的实现并没有处理这一问题。

分享到: