Есть функции которые перебирают и записывают массив букв:
<?php
$arItems = [];
$arAllLetters = [];
foreach ($arResult['rows'] as $arItem){
$s = substr($arItem['UF_NAME'], 0, 1);
$s = strtoupper($s);
if( preg_match("/[А-Яа-я]/", $s) ){
if(!in_array($s,$arAllLetters['K']))
$arAllLetters['K'][] = $s;
}
if( preg_match("/[A-Za-z]/", $s) ){
if(!in_array($s,$arAllLetters['L']))
$arAllLetters['L'][] = $s;
}
if(is_numeric($s)){
$s = '0-9';
$arAllLetters['N'] = ['0-9'];
}
$arItems[$s][] = [
'NAME' => $arItem['UF_NAME'],
'CODE' => $arItem['UF_CODE']
];
}
$arResult['LETTERS'] = $arItems;
$arResult['ALL_LETTERS'] = $arAllLetters;
Английские буквы выводятся, русские - выводятся ? вопросы.
В чем может быть ошибка? Пробовал менять кодировку на utf-8, не срабатывало
Весь код прописываю в файле result_modifier.php