なぜ自分でバグを修正できなかったか。
バグの症状:
サーブレットがレスポンスで出力するHTMLが文字化け。
【t_nagataのダメだった思考】
文字化け発生
↓
(ブラウザかエディタかHTMLかHttpServletResponseオブジェクト(以下、responseオブジェクト)の
どれかの文字コード設定がおかしいんだろう)
↓
総当り的に修正して、全てUTF-8にする
↓
直らない・・・
↓
ぐぐる
【Yoshioriさんの思考】
まず問題の切り分け(←ここに尽きるかもしれない)
↓
どこで文字化けが起こっているかを考える。
↓
順番に調べていって
responseオブジェクトがおかしいと目星を付ける
↓
でも、設定は全てOKっぽいのに文字化けするので、JavaDoc見てみる。
↓
getWriter()が呼ばれる前に文字コード設定しなければいけないことが判明する。
ちなみに、Yoshioriさん自身にこのバグの経験は無かったらしいです。
この考え方の違い、レベルの差はかなり大きいことを自分に戒めるべき・・・!
※responseオブジェクトの文字コード設定はsetContentType()、setCharacterEncoding()で。
P.S.
僕、たまに語尾を「・・・!」こんな風にするけど元ネタはカイジです。
なので、"・・・"の部分に何も含みはないです。