[修复思路]
将编码转换回 ACP,然后再用 UTF-8 编码转换回来。
[修复代码]
如果引用 QString 单元,则直接 QString.Utf8Decode(PQCharA(QString.AnsiDecode(Value)),-1) 转换下就可以。
[问题原因]
该问题是由于 Windows 的 WinHttp 实现在返回头部数据时,默认是使用 ACP 编码来处理的,而不是 UTF-8,而 Delphi 的实现并没有处理这一问题。
[修复思路]
将编码转换回 ACP,然后再用 UTF-8 编码转换回来。
[修复代码]
如果引用 QString 单元,则直接 QString.Utf8Decode(PQCharA(QString.AnsiDecode(Value)),-1) 转换下就可以。
[问题原因]
该问题是由于 Windows 的 WinHttp 实现在返回头部数据时,默认是使用 ACP 编码来处理的,而不是 UTF-8,而 Delphi 的实现并没有处理这一问题。