%Y年%m月%d日

文字化け
2017年02朁Ed日

strftime('%Y年%m月%d日')

ランダムに発生する
2度目の表示でなおる

原因
setlocaleの2番目の間違い 0ではなく"0"

if (!extension_loaded('mbstring'))
  return strftime($format, $timestamp);

$locale = setlocale(LC_CTYPE, "0");
if ($locale == 'C')
   $locale = setlocale(LC_CTYPE, "");
if (($locale != 'Japanese_Japan.932'))
  return strftime($format, $timestamp);

return mb_convert_encoding(strftime(mb_convert_encoding($format, 'CP932', 'UTF-8'), $timestamp), 'UTF-8', 'CP932');