问题在于编码。
目前,我有以下用户生成的html管道。
通过AngularJS包装器在页面上向用户显示ckeditor WYSIWYG编辑器。
用户输入一些文本,格式化它,这会导致在DOM中生成html。 然后我使用Angular将ckeditors内容POST到ASP.NET MVC Endpoint,其中内容自动包装到动作的字符串参数中。
生成的字符串被分配给Entity Framework Entity对象的字符串属性,并通过DbContext保存到数据库。
然后,为了显示它,我通过DbContext从Db中检索实体,在控制器代码中获取字符串变量中的html,然后将其分配给Razor View的View Model。
在Razor渲染过程中,带有html的模型的字符串属性通过@ Html.Raw(Model.HtmlMarkupPropery)帮助调用放在页面上。
有时候我会看到带有问号而不是西里尔字母(或任何两个字节)字符的钻石,因此我怀疑在此过程中存在一些编码问题。
请告诉我正确编码/解码的位置(如果有的话)。