Неправильная сортировка Silverstripe 3 со специальными символами (умлауты)
Silverstripe 3.6 При попытке отсортировать ArrayList по полю, начинающемуся со специальных символов (в моем случае это umlauts по-немецки), результат не является "естественной сортировкой"
Пример:
$arrayList = ArrayList::create(array(
ArrayData::create(array('Title' => 'Ccc')),
ArrayData::create(array('Title' => 'Zzz')),
ArrayData::create(array('Title' => 'Ööö')),
ArrayData::create(array('Title' => 'Aaa')),
ArrayData::create(array('Title' => 'Rrr')),
ArrayData::create(array('Title' => 'Ooo')),
ArrayData::create(array('Title' => 'Äää'))
));
Debug::dump($arrayList->column('Title'));
$sortedList = $arrayList->sort('Title');
Debug::dump($sortedList->column('Title'));
Результат оригинального списка:
[0] => Ccc
[1] => Zzz
[2] => Ööö
[3] => Aaa
[4] => Rrr
[5] => Ooo
[6] => Äää
Результат отсортированного списка:
[0] => Aaa
[1] => Ccc
[2] => Ooo
[3] => Rrr
[4] => Zzz
[5] => Äää
[6] => Ööö
Ожидание будет:
[0] => Aaa
[1] => Äää
[2] => Ccc
[3] => Ooo
[4] => Ööö
[5] => Rrr
[6] => Zzz
Использование php5.6 с расширением intl. Есть идеи, как заставить это работать?