Невозможно установить правильную кодировку для выходного текстового буфера консольного процесса в русских окнах 10. Пожалуйста, помогите с этим.Необходимо преобразовать вывод консоли в кодировку UTF-8 и выводить в браузере.
Я пробовал разные кодировки:
- utf-16 -> utf-8
- ascii -> utf-8
- windows-1251 -> utf-8
- windows-1252 -> utf-8
Но не повезло: (
Он выводит только английские символы и цифры. Нет русских символов
<?php
header('Content-Type: text/html; charset=utf-8');
$cmd = "ping mail.ru";
execAndOutput($cmd);
function execAndOutput($cmd){
$process = popen($cmd, 'r');
while($out = fgets($process, 2048)) {
$out = mb_convert_encoding($out, "utf-8", "windows-1251");
echo $out."<br>\n";
ob_flush();flush();
}
pclose($process);
} ?>
С кодировкой 1251 у меня естьэто в выходных данных:
ЋЎ¬Ґ Ї ЄҐв ¬Ё б mail.ru [94.100.180.202] б 32 Ў ©в ¬Ё ¤ ле:
ЋвўҐв ®в 94.100.180.202: зЁб«® Ў ©в=32 ўаҐ¬п=118¬б TTL=49
ЋвўҐв ®в 94.100.180.202: зЁб«® Ў ©в=32 ўаҐ¬п=118¬б TTL=49
‘в вЁбвЁЄ Ping ¤«п 94.100.180.202:
Џ ЄҐв®ў: ®вЇа ў«Ґ® = 4, Ї®«г祮 = 4, Ї®вҐап® = 0
(0% Ї®вҐам)
ЏаЁЎ«Ё§ЁвҐ«м®Ґ ўаҐ¬п ЇаЁҐ¬ -ЇҐаҐ¤ зЁ ў ¬б:
ЊЁЁ¬ «м®Ґ = 118¬бҐЄ, Њ ЄбЁ¬ «м®Ґ = 120 ¬бҐЄ, ‘।ҐҐ = 118 ¬бҐЄ
Без какого-либо преобразования кодировки я получил это:
����� ����⠬� � mail.ru [94.100.180.200] � 32 ���⠬� ������:
�⢥� �� 94.100.180.200: � ����=32 �६�=113�� TTL=46
�⢥� �� 94.100.180.200: � ����=32 �६�=170�� TTL=46
����⨪� Ping ��� 94.100.180.200:
����⮢: ��ࠢ���� = 4, ����祭� = 4, ����ﭮ = 0
(0% �����)
�ਡ����⥫쭮� �६� �ਥ��-��।�� � ��:
�������쭮� = 109�ᥪ, ���ᨬ��쭮� = 170 �ᥪ, �।��� = 135 �ᥪ
Ожидается (скопировано с терминала Windows):
Обмен пакетами с 127.0.0.1 по с 32 байтами данных:
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Статистика Ping для 127.0.0.1:
Пакетов: отправлено = 4, получено = 4, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек
Iхочу получить русских символов из консоли в браузере .