文書番号: 942425 - 最終更新日: 2007年12月3日 - リビジョン: 1.4 ASP.NET 1.1 で Cookie に格納された日本語が文字化けする
目次現象Microsoft ASP.NET 1.1 が稼動している Microsoft Windows Server 2003 に Microsoft .NET Framework 1.1 および .NET Framework 1.1 の修正プログラム (バージョン 1.1.4322.2315 以降) をインストールすると、ASP.NET Web ページの HTTP ヘッダーがシステム デフォルト エンコード (日本語環境の場合、Shift-JIS) でクライアントへ送信されます。ラウンド トリップしてサーバー側で Web ページの HTTP ヘッダーを参照すると文字化けします。
.NET Framework 1.1.4322.315 以降の修正プログラムは、Windows Server 2003 Service Pack 2、セキュリティ修正プログラム (MS07-040) に含まれます。.NET Framework 1.1.4322.315 以降の修正プログラムについては、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。 895262?
(http://support.microsoft.com/kb/895262/JA/
)
FIX: ASP.NET で Response.Addheader 属性を使用する場合、応答ヘッダーーが常に UTF-8 としてエンコードされる 原因.NET Framework 1.1.4322.315 以降のバージョンでは、次のとおり動作が変更されました。このため、エンコードを指定せずに cookie に日本語文字列を格納または取得するコーディングを採用する場合、文字列変数内容に文字化けが発生します。
http://msdn2.microsoft.com/ja-jp/library/hy4kkhe0(VS.80).aspx
(http://msdn2.microsoft.com/ja-jp/library/hy4kkhe0(VS.80).aspx)
なお、この動作変更は ASP.NET 1.0 および ASP.NET 2.0 のアプリケーションには影響を及ぼしません。
回避策この問題を回避するには、次のいずれかの方法で操作します。
方法 1 : プログラム コードでエンコードするcookie には日本語文字列を直接格納せず、プログラム コードでエンコードします。修正前 : 修正後 : 方法 2 : web.config でエンコードを UTF-8 と指定するweb.config の globalization 要素に responseHeaderEncoding 属性を加え、エンコードを UTF-8 に設定します。例 : 関連情報この資料は以下の製品について記述したものです。
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。" | サポート情報 その他のサポートサイトコミュニティ技術サポート窓口
|





















先頭へ戻る