文字コードの変更

DotNetNukeの既定の文字コードはUTF-8ですが、日本のモバイル端末で表示するには文字コードをShift-JISにする必要があります。(XHTMLのみに対象を絞るとDoCoMoとSoftbank端末はUTF-8に対応していますが、auは相変わらずShift-JISのみの対応です)

文字コードは、Web.configファイルをいじればDotNetNuke全体の変更することが可能ですが、いろいろと不都合があるので避けたいところです。このため、ページ単位に応答時の文字コードを変更するモジュール「CodeChanger」を作成し、ページに挿入してみました。(このモジュールのすぐ下に挿入して分かりやすくタイトルを表示)

ブラウザの文字コードを確認してもらえると他のページはUTF-8なのに対して、このページのみがShift-JISになっているのがわかると思います。なお、OPENWAVE, i-mode HTML Simulator2, Web Content View6.0で確認してみて、文字化けがないことは確認しました。

これで、とりあえずはまがりなりにも文字は読めるようになりました。ただし、単純な閲覧はできてもフォームへの投稿では文字化けが発生します。これはこのモジュールが応答時の文字コードを変更するためだけのもので、要求時に期待する文字コードを変更するものではないためです。これを変更するにはモジュール単位ではできませんので、コアレベル(Global.asax)での対応が必要になります。

Code Changer


▼BACK▼