Я использую RestSharp версии 105.1.0 (.NET 4.5.1), чтобы сделать вызов REST для нашего собственного API. Этот API отправляет ответы со следующим заголовком, представляющим особый интерес: Content-Type: application/json; Charset=iso-8859-1
. Как вы можете видеть, кодировка этого ответа установлена на iso-8859-1.RestSharp игнорирует кодировку кодировки ответа
Я ожидаю, что ответ, который я получаю от RestSharp, использует эту кодировку для декодирования содержимого ответа. Однако, когда я смотрю на свойство RestResponse.Content
, некоторые символы отображаются как . Насколько я знаю, это означает неправильную кодировку. Когда я пытаюсь декодировать RawBytes
вручную, используя правильную кодировку, я получаю правильную строку.
Я попытался вручную установить свойство iso-8859-1 Encoding
на RestClient
, но безрезультатно.
Как я могу убедиться, что ответы RestSharp декодируются с использованием правильной кодировки?
Пример кода:
// Setting the Encoding here does not change the result
var client = new RestClient(myApiUri) { Encoding = Encoding.GetEncoding("iso-8859-1") };
var request = new RestRequest(Method.GET);
var restResponse = client.Execute(request);
Console.WriteLine(restResponse.Content)
// Outputs content as string with wrong encoding
// some characters display as �
Заранее спасибо!
Это точно, как я работал вокруг этого вопроса, а также. Я надеялся, что будет более чистый способ достичь этого, не используя «RawBytes» в ответе. –