2016-04-21 8 views
5

名前にいくつかのクールな文字を追加したいと思い、に追加しました。web.configこのような牛の画像。私は、アプリケーションを起動したときにMVCアプリケーション用にweb.configのUnicode文字を許可する方法は?

<add key="SenderName" value="&#x1f3eb; Mr Mooo"/> 

はしかし、私は、ローカリゼーションおよび例えば約しつこい私の_Layout.cshtmlにこの行の例外を取得します。

@Styles.Render("~/Content/css") 

私はこれをどのように処理するかは分かりません。どうやら、MVCは牛を嫌いますが、私はそれについて何ができますか?

私はstandardに従ってthe suggested syntaxに従おうとしました。私はまた、設定ファイルのUTF-16 at the topを追加しました。

答えて

0

これは、Unicode文字とXMLエスケープとは何の関係もありません。

XML Standardあなたがにリンクで述べたように、XMLはわずか5つの標準エンティティ定義しています

  • <は "<" を表しを。
  • >は、 ">"を表します。
  • &は、「&」を表す。
  • 'は "'"を表し、
  • "「"」を表す。

あなたが明示的に定義しない限り(例えば&#x1f3eb;など)他のすべてのエンティティは、XMLで有効ではありません。

このような状況の簡単な方法は、しかし、があります。このエンティティの問題点は、XMLとは互換性がありませんこれは、エスケープされていないアンパサンドが含まれていることです。あなたはそれをエスケープする必要があり、すべてが世界で権利である。

<add key="SenderName" value="&amp;#x1f3eb; Mr Mooo"/> 

今すぐあなたのアプリケーションは、設定ファイルから値を取得するときにエスケープされていない文字列(&#x1f3eb; Mr Mooo)を受け取るので、ビューに渡すことができます。

0

system.web-グローバリゼーション・ノードの「fileEncoding」属性をutf-16に設定すると、ヘッダーと構成ノードの両方でエンコードを設定しようとします。

<?xml version="1.0" encoding="utf-16"?> 
<configuration> 
    <system.web> 
    <globalization fileEncoding="utf-16" requestEncoding="utf-16" responseEncoding="utf-16"/> 
    </system.web> 
</configuration> 

P.S.申し訳ありません - 前回私がタブレットから入力したので、例を書くのは難しかったです。

+0

私が正しく理解しているかわかりません。ヘッダーは、* web.config *の一番上の行を意味します。しかし、もう一つ?私は答えの中の小さなサンプルを見たいと思っています。 –

+0

記録のために - 私はこれを落としていません。サンプルを提案したら、私はあなたに+1を与えることができます。 –

関連する問題