c# – 在ASP.NET MVC中的参数中编码非UTF-8文本

背景

我有一个使用ISO-8859-1编码的Web应用程序.当我使用Html.ActionLink()传递参数时,该值被解码为UTF-8:

Web.config文件:

<globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1"
               fileEncoding="iso-8859-1" />

的Index.aspx

This is a <%= Html.ActionLink("test", "Read", new { name="Cosméticos" }) %>

生成以下内容:

This is a <a href="/Intranet/Read?name=Cosm%C3%A9ticos">test</a>

问题是我在控制器中收到的值是UTF-8,而不是iso-8859-1:

的TestController:

public ActionResult Read(string name) {
  //name is "Cosméticos" here!
}

为什么字符串没有被解码为Cosméticos?

最佳答案 您的aspx文件是否在物理上保存在iso-8859-1中?

“将Xyz文件保存为”并单击保存按钮右侧的更多编码选项以保存文件.

一个猜测

点赞