MODxのDittoで日付を出力する際、日付フォーマットに日本語を使うと文字化けする問題の対処法。

よし、オレももう大人になったことだし、富士通の「WebInspector」でサイトをチェックするか! と、MODxで構築したサイトをチェックしたところ、日付のフォーマットが「yy/mm/dd」になっていると、アクセシビリティ的には良くないとの警告が。・・・仕方ない。そのくらいならすぐに直せるし、その提案にまんまと乗ってやるよ!と、Dittoの日付フォーマットを「yy年mm月dd日」に変更したところ、文字化けが発生。そういえば、サイト構築時にもこんなことがあって、そのまま放置していた記憶が・・・。今回もやめとく?いやいや、過去を乗り越えてこそ、成長ってもんだ!でも、日付のフォーマットなんて・・・そんな心の葛藤が、そのまま私の心の弱さを物語っています。

Dittoの日付の文字化け回避法

ネットで検索を続けると、ある記事にたどり着いた。そして解決。とりあえず、これを読めば、大丈夫。

パラメータ:dateFormatで日本語を使うと、文字化けする。(2007年=%Y年など) これを回避するには、/assets/snippets/ditto/classes/ditto.class.inc.php,line925-927
if ($modx->config["modx_charset"] == "UTF-8") {
    $dt = utf8_encode($dt);
}
をコメントアウトする必要がある。 Ditto2.0.2(SNIPPET)|仕事備忘録

ただし、コードを直接編集するということは、アップデートしたときに、困るんじゃないかって問題もある。でも、やるしかない!やるしかないんだ!えーい、ままよー!!