在.net
MVC项目中,我们在持久性请求之间使用序列化(到JSON)类。基本上我们将序列化的用户数据存储在cookie中,以便我们可以在以后的阶段再次使用它并在某些地方进行渲染。
我们序列化的一个项目是用户的居住地点,在某些情况下,它包含一个特殊的字符,如'ë'(而不是普通的'e')。 序列化此字符后,cookie包含一个应该代表字符的序列,但是当我们在屏幕上呈现字符串时,它不会按照预期的方式再次格式化它。
示例:
显然我需要渲染的字符串与输入字符串相同。
我们用来序列化的代码(json.net库):
public class ClassWithResidenceProperty {
public string Residence {get;set;}
public string Serialize()
{
return JsonConvert.SerializeObject( this );
}
}
此外,我在本地运行应用程序时无法重现此错误。这让我觉得我可能需要在某处设置一些文化旗帜。我试过这个:
return JsonConvert.SerializeObject( this,
new JsonSerializerSettings()
{
Culture = new CultureInfo("nl-NL")
}
);
(我住在荷兰)。但是,强制这种文化不会改变我们的测试环境。
感谢任何建议或评论。