Не могу разобраться с кодировкой. Данная функция выполняется, и просит запрос ввода. При вводе русских символов происходит следующие... PHP 7.0, запущен в модуле CLI. В итоге fgets возвращает пустую строку размер в количество символов, но не как не русские символы. С английскими символами, все работает отлично. Перепробовал многое, попрошу помощи.
function queryline($prompt = '')//наша функция запроса ввода
{
echo $prompt;
$str = fgets(STDIN);
return iconv('ASCII', 'UTF-8', $str);
}
Во-первых, а вы уверены, что вывод UTF-8 в терминал в вашем конкретном случае отобразится корректно? Попробуйте сначала убедиться, что ваш php-файл сохранен в UTF-8, и сделать просто вывод echo 'русский текст';. Если отобразится корректно - тогда идем далее.
Во-вторых, попробуйте mb_convert_encoding вместо iconv, эта функция должна более корректно определять входящую кодировку. Но это тоже не панацея, т.к. не совсем понятно, в какой кодировке данные приходят с терминала.
Если и это не поможет - попробуйте iconv, но с предварительным явным определением входящей кодировки с помощью mb_detect_encoding.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости