Pebble日本語化&改造ログ
サーバー移行でブログが表示されない[FIXED]

Windows2003サーバーにブログをインストールした場合。
通常問題なく動作するが、他のOSで動作させ保存したブログデータをコピーするとエラーログに日付の変換が出来ないエラーが出てブログが表示されない。
「Couldn't parse date of ・・・」

原因:
JVMのロケールの違いで月のパターン「MMM」の解釈が違うため。
たとえば、ja_JPで「6」の場合、
en_USでは「Jun」となる。

Windows2003サーバーのWeb EditionはMUI(Multilingual User Inteface)によって日本語がサポートされ、ベースが英語版のためJVMのデフォルトロケールが「en_US」にセットされている。

解決方法:
他の環境のデータを移行する場合に、Tomcatの起動オプションを使ってそのロケールに合わせる。

-Duser.language=ja
-Duser.country=JP
-Duser.region=JP

本来格納されるデータの日付形式は、ロケールに依存しないフォーマットである必要があります。
しかしパターン「MMM」によって期待する「Jun」などの表記はRFCで標準化されているので日本語ロケールでそのパターンがないのが問題とも言えます。
(「MMM」で「Jun」、「MMMM」で「6月」といった拡張が必要かも)

とりあえず、上記オプションで対応しますが、書式パターンについては今後互換性を保って修正します。