特集:全1回 .NET FrameworkをUNIXで動かす「Mono Project」dev .NET(9/9 ページ)

» 2004年06月24日 22時45分 公開
[大澤文孝,ITmedia]
前のページへ 1|2|3|4|5|6|7|8|9       

.aspxファイルはUTF-8で保存

 いろいろ試したところ、日本語が化ける原因は、.aspxファイルの文字コードにあった。Visual Studio.NETで.aspxファイルを記述すると、シフトJISコードで記述される。これを適当なテキストエディタなどで開き、UTF-8として保存し直せば、画面6のように正しく日本語表示ができるようになる。

画面6■正しく日本語が表示された

 ただし、Boolean型のデータにおいて「True/False」が表示されないという問題は直らない。これはプログラム側で対応させるしかないだろう。ちなみにここでは具体例を示さないが、DataGridにデータバインドしているデータベースのデータに日本語が含まれている場合でも、正しく表示されることを確認した。

 ただし正しく表示できるのは、SQL Server上で、nvarchar型(Unicodeを示す型)として定義されている場合に限る。varchar型(シフトJISを示す型)で定義された列に日本語を入れると、文字化けする。ソースコードを厳密に追っていないので断言はできないが、Monoの環境では、シフトJISコードを使うとおかしな感じがする。


SQL Serverのpubsデータベースのauthorsテーブルでは、varchar型が使われている。そのため、authorsテーブルに日本語の値を設定した場合には、文字化けする。

UNIXでASP.NET開発の時代は近い?

 ここまで簡単にMonoがどの程度の互換性をもつのかを見てきたが、Windows Formを使ったアプリケーションは現状では動かしにくいが、ASP.NETやASP.NETがUNIX上で動作するのは、まさに目前と言える。ただし、日本語を必須とする立場では、日本語の挙動が少し不明という問題があったり、OSによっては正しくSQL Serverに接続できないなどの問題が幾つか残っているのも事実だ。

 今回は、データベース接続してDataGridコントロールで表示するという例しか見ていないため、果たして、データベースの更新は大丈夫なのか? トランザクションは正しく機能するのか? そもそもXSPやMono自体が安定して動くのか? など、まだまだ調査の余地があるだろう。またパフォーマンスを向上させるために、mod_monoがどの程度の機能を持つのか検討する必要もあると思われる。そのため、すぐに実用的に利用できるかといえば、それは難しいのではないかと言わざるを得ない。

 しかしβ3という状況で考えれば、Monoは全般的に、相当良く出来ていると思える。あとは多くの環境で使われて揉まれていけば、よりよい安定したものに仕上がっていくことだろう。現状、ASP.NETはIISで動かすのが主流であるが、将来的には、Apache+mod_monoで動作させる環境も十分に考えられるのではないかと思った次第だ。

記事で使用したサンプル(TestWebApp.lzh)

前のページへ 1|2|3|4|5|6|7|8|9       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ