- PR -

ASP.NET DataGridの通貨表示について

1
投稿者投稿内容
sathios
会議室デビュー日: 2005/10/26
投稿数: 6
投稿日時: 2005-11-14 19:07
こんばんわ。

DataGridの通貨型の列の表示が「?1,000」のような表示になる現象で苦戦しています。
XPの開発環境では問題なく表示されるのですが、Windows Server 2003に移したら通貨型の列全ては上記のような表示になってしまいます。
通貨フィールドは「DataFormatString="{0:c}"」を指定しています。
ページディレクティブに”Culture="ja-JP"”と入れてみたのですが駄目でした。
どうかお知恵をお貸しください。

環境は以下の通りです。
[開発環境]
OS:WindowsXP Pro 日本語版
IISのバージョン:5.1
DB:SQLServer2000
開発ツール:WebMatrix

[運用環境]
OS:Windows Server 2003 日本語版
IISのバージョン:IIS6.0
DB:SQLServer2000
○地域と言語のオプション
日本語
数値:123,456,789.00
通貨:\123,456,789
時刻:18:50:24
短い形式:2005/11/14
長い形式:2005年11月14日
場所:日本
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-11-14 19:26
sathiosさん、こんばんは。

Windows Server 2003 SP1の不具合だか仕様変更だかで、Int32.ToString("c")などの方法で通貨記号が正しく出力されない事があります。
asp.net の場合、globalization の requestEncoding / responseEncoding に shift_jis が指定されていると NG のようです。その場合、globalization に enableBestFitResponseEncoding="true" を追加する事で回避出来ます。
sathios
会議室デビュー日: 2005/10/26
投稿数: 6
投稿日時: 2005-11-14 21:39
きくちゃんさん
ご回答ありがとうございます。

教えていただきました方法できちんと表示できました。
web.configの設定だったのですね。思いつきませんでした。(^^;;
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)