

ASP.NETはweb.config中のglobalizationを指定するだけで、文字コードを簡単に変更することができます。
<globalization requestEncoding="UTF-8" responseEncoding="UTF-8"/>
PC向けのサイトではなにも考えずにUTF-8でサイトを構築してもいいのですが、携帯向けサイトですと、SHIF-JISでエンコードする必要があります。
<globalization requestEncoding="Shift-JIS" responseEncoding="Shift-JIS"/>
この場合、ASP.NETのサーバオブジェクトは、クライアントからのポストデータをShift-JISエンコードとして自動処理します。
単一のページで、PCと携帯の両対応を目論む方の中には、「PC向けにはUTF-8で、携帯向けにはShift-JISで表示したい」と考えるかもしれません。(迷信ですが、SEO的にUTF-8のほうが良いと言われているため)
この場合、globalizationではUTF-8を指定しておき、UserAgentから携帯電話端末を識別して、Responseオブジェクトに1行追加するだけでShift-JISにすることができます。
Response.ContentEncoding = System.Text.Encoding.GetEncoding( "Shift-JIS" );
ただし、これを行うと、Softbank&Vodafone端末で文字化けがおこります!
理由は、.NET FrameworkはDoCoMoとKDDIとJ-PHONEはご存知なのですが、「Vodafone?Softbank?だれそれ?」状態です。ですので、browser情報を追加する必要があります。
ASP.NETフォルダの追加からApp_Browsersフォルダを追加して、その中にVodafoneとSoftbankのための情報を追加してください。特に重要なのは下記の1行です。
<capability name="preferredResponseEncoding" value="shift_jis" />
アプリケーション単体ではなく、サーバ自体に設定を追加する場合は、こちらの記事を参考にしてください。
以上、ASP.NET 2.0の話です。ASP.NET 1.1の環境ではBrowser Capsで対応してください。
その他資料:
BrwoserCaps
