我对.NET有点新......我已经搜索了大约4个小时(也许还不够努力),无论如何我会继续问:
我有以下代码(我正在使用 Newtonsoft JSON.NET )并且它很好地响应我的其他API(在JSON中)。然而问题是,在我的模型中,我传递包含国际化字符的参数,例如以下'Ç':这些字符从模型中出来(或者至少,我认为),但是它们正确传递。然而,当它们被序列化到输出中时,它们会像(例如)那样出现乱码:
'Ç' =>
A|™©
this.serializer.Serialize(context.HttpContext.Response.Output, this.Model);
我做错了什么?
答案 0 :(得分:0)
在探讨了这个问题之后,我发现以下内容是一个有用的答案,可以解决问题。
Setting the charset of html response content to 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