ASP.NET 1.1 を使用して作成した Web ページで ¥ (円記号) が表示されない

現象
ASP.NET 1.1 を使用して作成した Web ページで、応答のエンコード形式を Shift-JIS に設定した際に、クライアント ブラウザ上に ¥ (円記号) で表示されていた箇所が、? (疑問符) で表示される場合があります。

たとえば、以下のプログラム コードを使用した場合に、この現象が確認されています。

ToString("C")DataFormatString = "{0:C}"


この現象は、.NET Framework バージョン 1.1.4322.2300 以降のバージョンで発生します。.NET Framework バージョン 1.1.4322.2300 以降のバージョンは、Microsoft Windows Server 2003 Service Pack 1 (SP1) や 2005 年以降の Microsoft ASP.NET 1.1 に含まれています。
原因
.NET Framework バージョン 1.1.4322.2300 以降では新たに以下の設定値が導入されていますが、この値の既定値が False であるため、¥ (円記号) が最適にエンコーディングされない事により現象が発生します。

"System.Web.Configuration.GlobalizationSection.EnableBestFitResponseEncoding" プロパティ
http://msdn.microsoft.com/ja-jp/library/system.web.configuration.globalizationsection.enablebestfitresponseencoding(v=VS.80)

.NET Framework のバージョンは、%WinDir%\Microsoft.NET\Framework\v1.1.4322\ フォルダ内の System.Web.dll ファイルのプロパティを開き、[詳細] タブをクリックして表示される [製品バージョン] で確認できます。
解決方法
この現象を解決するには、以下のように、web.config ファイルの <globalization> 要素に、enableBestFitResponseEncoding 属性を追加し、値を true に設定してください。

<globalization  requestEncoding="shift-jis"responseEncoding="shift-jis"enableBestFitResponseEncoding="true"/>
プロパティ

文書番号:900838 - 最終更新日: 09/29/2016 16:19:00 - リビジョン: 5.0

Microsoft .NET Framework 1.1 Service Pack 1

  • kbprb kbtshoot kbharmony KB900838
フィードバック