我有一个VirtualPathProvider,它将我的数据库中的源代码作为普通字符串并将其编码为UTF8。MVC 3 Razor页面编码为utf 8显示编码字符
例如:
public override Stream Open()
{
MemoryStream result = new MemoryStream();
result = new MemoryStream(Encoding.UTF8.GetBytes(_sourceCode));
return result;
}
我那么有有其作为UTF字符集布局母版页8
<meta charset="utf-8">
然后将母版页调用@RenderBody()
它得到我的VirtualPathProvider页,并输出到浏览器。
的问题是,它与它的编码的字符输出页面:
wünschte成为wünschte
我在做什么错?
TLDR:
我想wünschte显示,而不是wünschte。数据库中的纯字符串是wünschte,但是一旦它从内存流到我的页面上,就会变成wünschte。
所以你的问题是你不想显示UTF 8编码的字符串? – Anand 2012-07-17 09:51:26
通过指定字符集,编码字符串应呈现为正常的字符串。无论如何,这就是我所了解的。 – Bob 2012-07-17 10:00:30
不,你已经指定了字符集为UTF-8,所以它会以原始格式显示所有非英文字符。 – Anand 2012-07-17 10:17:22