Neutral Scent

App developments & Gadgets

モバイルWebフォーム + ezWebで文字化け

誰も使っていやしないASP.NETモバイルWebフォーム(Mobile Controls)と格闘しています。
なんと、Visual Studio 2005 + ASP.NET 2.0 + Windows Server 2003の環境ですと、標準の状態で、モバイルWebフォームezWeb端末で閲覧すると、日本語が文字化けするようです。
端末は、

Accept-Charset:shift_jis
Accept-Language:ja-jp

でRequestしているにもかかわらず、モバイルWebフォーム

Content-Type: application/xhtml+xml; charset=utf-8

でResponseしてきやがります。リアル端末もOpenwave SDKも同様の動き。
とりあえず、手元のドコモ端末P902iでは文字化けしなかったんですが、こっちはutf-8を読んでいるのかも知れません...。
おっかしーなー、といろいろトライしたものの、全くどうにもならず、web.configに、

を付けてみたりもしたのですが、効果無し。
なんなんだ! むがー!!
と八方ふさがりで、テクニカルサポートに電話しましたよ。
そしたら、↓を試してくれ、と言われ

ASP.NET で ¥ マークが表示されない
http://support.microsoft.com/kb/900838/ja

Windows Server 2003のbugなんですが、web.configの配下に、

を入れてみたところ、スッキリサッパリ直ってしまいました。
今までの苦労はなんだったんだー!!
という感じ。
ひょっとしたら、うちの環境が多少壊れてる部分もあるかも知れませんが、おそらく、Windows Server 2003 SP1とVS2005でモバイルWebフォームを作ると規定値で文字化けを起こします。
日本語版としてはありえないですね。

「これまでこういう問い合わせはないんですか?」
「そうですねぇ、今のところないようです」
「いかにモバイルWebフォームが使われてないか、ってことですよね...」
「そうなんですよ...」

というようなやり取りをしてしまいました...(涙)。
ちゅーか、テストしてなかったんかよ! むがー!!
とりあえず、スムースに話は進んで、インシデントも減らなかったから良しとするか...。2時間近くカット&トライで悩んだのは何だったのか...。まー、それ以上粘らずに、電話して良かったということで。


あ、そうそう、余談ですが、VS2005でモバイルWebフォームのサイトを作るとき、web.config(構成ファイル)が、通常のASP.NET用と多少違うようなので要注意です。
項目の追加で、「モバイルWeb構成ファイル」とゆーのがあるのでそれを使いましょう。
流れとしては、ASP.NET Webサイトプロジェクトを作成するのではなく。

  1. プロジェクトの追加 - 新しいWebサイト
  2. 空のWebサイトを作成
  3. モバイルWeb構成ファイル の追加
  4. web.configにを追加(iモード用)
  5. モバイルWebフォームの追加

とすると良いでしょう。