« XMLはXMLであってプレーンテキストではない。 | トップページ | DbEditでOracleのDATE型の時分秒部分を表示 »

2006年6月23日 (金)

不完全なJSPの「テキストの比較」

こんにちは、kazzyaです。

超久しぶりのエントリーですね。
もう1本にblogまとめてしまおうかと考えたんですが、
とりあえずこっちに書いておきます。

つい先日までCVSクライアントとして、Eclipse2.1.xを使用していたのですが、
ふとEclipse3.1.1に変えまして。
そこでちょっと挙動が違った件のメモです。
エディタが賢くなったんでしょうね。

とあるJSPを修正してリポジトリーと同期化し、
「テキストの比較」で修正内容を確認したところ、
日本語の文字がことごとく化けました。
Eclipseのエディタ周りは設定変えたことがないので、
2.1.xと3.1.1の仕様が違うんでしょうけど、
2.1.xの時は文字化けなんてしたことありませんでした。

何となく理由を仮定して、
そのJSPをさらにちょっと修正して再度リポジトリーと同期化し、
「テキストの比較」したところ、
やっぱり文字化けは発生せず。

修正したのは、pageディレクティブのpageEncoding属性を追加したんです。
pageEncoding="Shift_JIS"って。

JavaServer Pages第二版のP.543には次のような記述があります。

contentTypeが文字セットを指定しない場合は、
通常のJSPページにはISO-8859-1が使用され、
JSPドキュメントにはUTF-8が使用される。

「通常のJSPページ」と「JSPドキュメント」の違いが良くわからないのですが!?、
いずれにせよどちらの文字コードでもないですからね。
おそらく、拡張子で解釈して仕様どおりの文字コードで表示したんでしょうね。

では、contentTypeとか、一切指定していないか、ってぇと、
一応してるんです。
共通で使うのでincludeディレクティブでpageディレクティブを
includeしちゃったりしてるんですけどね。
ホントにいいんですか?と思うんですけどねぇ。
JSPのメタデータをメタ要素でどうこうしちゃって。

要はJSPとして不完全なことを証明してると思うんですけど、
もういまさら数十画面分のJSPをあるべきJSPの構造に修正しよう!
という気概のある人間はいないわけで…

|

« XMLはXMLであってプレーンテキストではない。 | トップページ | DbEditでOracleのDATE型の時分秒部分を表示 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2217/10646088

この記事へのトラックバック一覧です: 不完全なJSPの「テキストの比較」:

« XMLはXMLであってプレーンテキストではない。 | トップページ | DbEditでOracleのDATE型の時分秒部分を表示 »