不完全な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の構造に修正しよう!
という気概のある人間はいないわけで…
| 固定リンク

コメント