目前我正在尝试使用以下帮助函数自动创建一个名为all months的数组:
if ( ! function_exists('getMonthsArray'))
{
function getMonthsArray()
{
$monthArray = array();
setlocale(LC_TIME, 'de_DE.utf8');
for ($m=1; $m<=12; $m++) {
$dt = \Carbon\Carbon::create(2016, $m, 1, 0, 0, 0)->formatLocalized('%B');
array_push($monthArray, $dt);
}
return $monthArray;
}
}
使用以下输出:
array:12 [
0 => "Januar"
1 => "Februar"
2 => b"März"
3 => "April"
4 => "Mai"
5 => "Juni"
6 => "Juli"
7 => "August"
8 => "September"
9 => "Oktober"
10 => "November"
11 => "Dezember"
]
正如您所看到的,某事发生在值“März”(第3个键)旁边。我只能想象变音符号“ä”存在一些问题。
答案 0 :(得分:1)
你需要将它包装在utf8_encode函数中,如下所示:
$dt = utf8_encode(\Carbon\Carbon::create(2016, $m, 1, 0, 0, 0)->formatLocalized('%B'));