Serializing UTF-8

本文关键字:UTF-8 Serializing | 更新日期: 2023-09-27 18:35:16

我对.NET有点新....我已经搜索了大约 4 个小时(也许不够勤奋),无论如何我都会继续问:

有以下一段代码(我使用的是Newtonsoft JSON.NET),它可以很好地响应我的其他API(JSON)。然而,问题是在我的模型中,我传递的是包含国际化字符的参数,例如以下"Ç":这些字符来自模型很好(或者至少,我认为),但它们被正确传递。但是,当它们被序列化到输出中时,它们会出现这样的乱码(例如):

'Ç' =>
A|™©
this.serializer.Serialize(context.HttpContext.Response.Output, this.Model);

我做错了什么?

Serializing UTF-8

在进一步探索此问题后,我发现以下内容是解决问题的有用答案。

将 html 响应内容的字符集设置为 1252

更新 1/2/2015

public override void ExecuteResult(ControllerContext context)
{
if (context == null) throw new ArgumentNullException("context");
context.HttpContext.Response.ContentType = "application/json";
context.HttpContext.Response.ContentEncoding = System.Text.Encoding.UTF8;
this.serializer.Serialize(context.HttpContext.Response.Output, this.Model);
}

我必须将两端(两个 API)的编码设置为 UTF8