Как указать кодировку для задачи cron?
А как конкретно запускается скрипт по крону? Есть ведь два способа как это сделать:
1.  с помощью PHP CLI. Команда типа "/usr/bin/php70 /var/www/website/script.php"
2. с помощью wget или curl. Типа /usr/bin/curl "website.ru/script.php" 1> /dev/null 2> /dev/null
Второй способ - полная имитация запуска в браузере. Это ответ на вопрос "может ли такая проблема решается иначе".  Может.
Первый способ не учитывает тех параметров, которые у вас заданы в конфиге Апача и в файле .htaccess. Поэтому для запуска первым способом вам все их нужно задать явно в скрипте, как верно заметил Артур Э..
просто в начале (первой строчкой после setlocale