0
<%= ...%>構文を使用し、ASCII以外の文字列を渡すと、その文字列がデコードされ、ASCIIとして出力されます。例:<%= "é"%>は&#233を出力します。ASP.NET MVCビューでユニコード文字が正しく出力されるようにするにはどうすればよいですか?
代わりに、エンコードされた文字をビューに出力するにはどうすればよいですか?
<%= ...%>構文を使用し、ASCII以外の文字列を渡すと、その文字列がデコードされ、ASCIIとして出力されます。例:<%= "é"%>は&#233を出力します。ASP.NET MVCビューでユニコード文字が正しく出力されるようにするにはどうすればよいですか?
代わりに、エンコードされた文字をビューに出力するにはどうすればよいですか?
なぜHTMLエンコードしますか?あなたのページがutf-8の場合は問題ありません。
<%: "é" %>
と::古いバージョンで
<%= HttpUtility.HtmlEncode("é") %>
あなたがHTMLにしたい場合しかし、あなたは、ASP.NET 4.0で<%:
を使用することができエンコードします。
個人的に私はあなたのweb.configファイル内<globalization>
要素でUTF-8からrequestEncoding
とresponseEncoding
を設定し、マスターページのheadセクションに<meta charset="utf-8" />
(HTML5)タグを置くことをお勧めします、あなたは問題ないはずです。
おそらく、テンプレートがJavascript文字列の内容を出力しているはずです。私が得ている実際の出力は&#233です。 HtmlUtility.HtmlEncodeを使用すると、代わりに&#233が得られます。これは引用符で囲まれた文字列であるため、ページのエンコーディングはマーザではないようです。 –
@Tristan St-Cyr、文字列やオブジェクトをjavascriptに渡すつもりなら、JSONを使うことをお勧めします。 'var jsVar = <%= new JavaScriptSerializer()。Serialize(SomeObject)%>;'。これはすべての安全なエンコーディングを保証し、オブジェクトグラフ全体をjavascriptに渡すこともできます。 –
まだ動作していません。 <%= new JavaScriptSerializer()。シリアライズ( "é")の出力例:" é " –