1

当我使用 Postman 时,来自我的 REST 服务的响应会返回包含正确拉丁字符的 JSON。当我从 C# api 调用相同的 REST 端点时,西班牙语或葡萄牙语中使用的特殊字符将替换为“?”。

正确来自 Postman REST 请求:“están compartiendo contraseñas” 来自 C# .Net api 请求不正确:“est?n compartiendo contrase?as”

C#

HttpResponseMessage response = client.PostAsJsonAsync(string.Format("{0}/{1}", baseUri, apiUri), content).Result;
var repl = response.Content.ReadAsStringAsync().Result;

我还尝试将 response.Content 读取为字节数组,然后使用 UTF8 编码来保留字符集。

var replbyte = response.Content.ReadAsByteArrayAsync().Result;
var myUTF8string = Encoding.UTF8.GetString(replbyte);
var myESPstring = Encoding.GetEncoding("iso-8859-1").GetString(replbyte);

这些都返回相同的错误文本:“est?n compartiendo contrase?as”

我知道 REST 端点会根据 Postman 的响应返回正确的字符。如何通过 .Net 应用程序获得正确的字符集形式?

4

0 回答 0