我有一個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