При написании ответа в ASP.NET Core символы не ASCII шифруются - PullRequest
0 голосов
/ 03 мая 2018

Если я помещу этот автозагрузку в приложение ASP.NET Core, текст будет зашифрован (Ã… à „Ö). То же самое происходит, если я делаю это в промежуточном программном обеспечении. Передача Encoding.UTF8 в WriteAsync не помогает.

public class Startup
{
    public void Configure(IApplicationBuilder app)
    {
        app.Run(async context => { await context.Response.WriteAsync("ÅÄÖ"); });
    }
}

Что не так и что я могу сделать, чтобы это исправить?

1 Ответ

0 голосов
/ 03 мая 2018

Необходимо указать правильный заголовок Content-Type. Без этого браузер остается угадывать, что представляет ответ на контент и в какой кодировке. И, конечно, нет ничего плохого, если это предположение будет неверным, как в вашем случае.

app.Run(async context => {
    // text in UTF-8
    context.Response.ContentType = "text/plain; charset=utf-8";
    await context.Response.WriteAsync("ÅÄÖ");
});
...