ASP.NET MVC FilePathResult 未使用 utf-8

ASP.NET MVC FilePathResult not using utf-8

提问人:devjklein 提问时间:12/9/2022 更新时间:12/9/2022 访问量:98

问:

我正在处理一个旧的 ASP.NET MVC 项目,我正在尝试在 ActionResult 中使用 FilePathResult 使用 HTML.Action 在 .cshtml 页面中加载 HTML 文件。

问题在于 utf-8 字符(包括 em 破折号和引号 (— “ ”))在生成的页面上出现乱码(显示为 ANSI 编码字符 - “”)。我正在使用此处详述的答案来尝试强制使用 utf-8 编码,并且我在我的站点元数据中设置了 utf-8。不幸的是,混乱的角色仍然存在。但是,我可以直接在我的 .cshtml 文件中使用 utf-8 字符,并且它们在网站上正确呈现,只是在我的控制器返回时无法呈现。

以下是控制器代码:

    [ChildActionOnly]
    public ActionResult GetHtmlPage(string path)
    {
        //return new FilePathResult(path, "text/html");
        string contentType = "text/html";
        Response.Charset = "utf-8"; // or other encoding
        Response.ContentEncoding = Encoding.UTF8;
        var fileResult = new FilePathResult(path, contentType);
        
        return fileResult;
    }
C# ASP.NET-MVC 编码 UTF-8 ANSI

评论


答: 暂无答案