.net core讀取appSetting.json文件中文字符亂碼

.net core webapp 中添加一個appsetting.json文件如下:

{
  "message": "<b>hello你好啊</b>"
}

在Startup類,Configure方法中直接讀取並打印到前端:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseRouting(routes =>
            {
                routes.MapGet("/", async context =>
                {
                    var msg = Configuration["message"];
                    await context.Response.WriteAsync(msg);
                });
            });
        }

結果:

英文字符正常輸出,中文亂碼;

解決

在高級保存選項中,查看編碼格式是否爲utf-8 sign:

查看瀏覽器編碼:firefox->右上角更多->文字編碼:

手動設置Unicode後,正常輸出中文字符:

看來是瀏覽器自動識別簡體中文(gb2312?)導致,在字符打印之前設置響應頭即可:

app.UseRouting(routes =>
            {
                routes.MapGet("/", async context =>
                {
                    var msg = Configuration["message"];
                    //指定響應頭編碼格式爲utf-8
                    context.Response.ContentType = "text/plain; charset=utf-8";
                    await context.Response.WriteAsync(msg);
                });
            });

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章