我将 JSON.stringify 数据发布到 MVC 操作,尽管在我的 javascript 中设置了编码,但所有 UTF 字符都被损坏了。这是我的 jQuery 调用的样子:
$.ajax({
type: "POST",
url: BaseAppPath + "/Controller/Action",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(jsonData),
success: function (data) {
// success code
},
error: function (xhr, textStatus, errorThrown) {
// error code
}
});
我的 Action 定义看起来像这样:
public JsonResult ModifyTaskStatus(int taskId, string note)
我在操作的第一行有一个断点。那时,“note”参数中的字符被删除。断点之前的所有内容都会正确处理字符。我需要做什么才能确保我的操作正确获取汉字?
最佳答案
首先想到的是您的 Web 应用程序可能没有设置相同的编码。你的 web.config 中有元素吗?如果没有尝试添加到
<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
当然还要确保您的页面具有在标签中设置的内容类型
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
关于c# - AJAX 中的 JSON、MVC3 和 UTF-8 字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10953745/