php кодировка в терминале Windows

181
15 января 2019, 22:20

Есть php обработчик, который выполняет в цикле exec команды вида

exec(icacls "\\\\10.0.7.41\\project\\1111_Проект\\01_Подраздел\\19.09.2018_альбом" /inheritance:e /T, $systemMessage);

Кодировка файла скрипта utf8 без BOM

В цикле перебирается около сотни папок. Результаты выполнения в помещаю в systemMessage. Подскажите как правильно работать с кодировкой в которой windows возвращает $systemMessages, Пример того что я получаю выполняя в командной строке:

А вот что я получаю когда пытаюсь вывести данные на экран в браузере или записать в файл логов

foreach ($systemMessages as $message){
            echo $message;
            file_put_contents($fileName , $message . PHP_EOL, FILE_APPEND);
        }

На экране: Вроде бы все хорошо, но когда заглядываешь в файл, там:

Что делать с элементом $message в массиве $userMessages, что бы он корректно записался в файл?

Пробовал iconv("windows-1251","utf-8",$message)

не помогает.

READ ALSO
Для чего нужен Reflection API в PHP? Практическое использование

Для чего нужен Reflection API в PHP? Практическое использование

Читая книгу Котерова "PHP 7 в подлиннике" познакомился с Reflection APIКак работают отражения, написано предельно доступно и понятно

192
Wordpress вывод категорий

Wordpress вывод категорий

Редактирую шаблон на WPСтолкнулся с проблемой, что не полностью выводятся посты из категории портфолио

195
Построить дерево Nested Set

Построить дерево Nested Set

Из плоского массива:

196
Почему не находится файл, если он есть?

Почему не находится файл, если он есть?

Я всегда получаю not exists даже если файл есть- Что не так ?

172