Кодировка текста php-скрипта в консоли в Windows

У меня есть большое PHP-приложение, запускающееся через консоль. Все файлы с кодировкой UTF-8, вместо echo использую свою функцию для вывода текста. Консоль Windows (до 10-ой) никак не хочет выводить русские символы из PHP-скрипта. Для теста делал так: echo mb_convert_encoding("'йоу привет'", "CP866", "UTF-8"); - первые две буквы выводит, остальные буквы - невидимые символы. Пробовал кодировку в консоли поменять на Windows-1251: chcp 1251. При этом ЛЮБЫЕ русские буквы в консоли превратились в кракозябры. Затем echo mb_convert_encoding("'йоу привет'", "CP1251", "UTF-8"); - все буквы невидимые Пробовал перевести кодировку консоли в UTF-8: chcp 65001. Язык в консоли изменился на английский и теперь вообще отказывается хоть как-то принимать русские буквы. Затем echo "'йоу привет'"; и просто кракозябры. В Windows 10 никаких проблем с кодировкой нет, даже ничего переводить не надо. В версиях Windows ниже - ни в какую.


Ответы (1 шт):

Автор решения: Meow

Там дело не в кодировке видимо, а в шрифте. Стандартный Consolas не поддерживает кириллицу (в Windows 10 это уже пофиксили).
Так что поменяйте его в свойствах консоли на шрифт Lucida Console:

введите сюда описание изображения

→ Ссылка