PHP UTF-8 для командной строки Windows

Все в вопросе: у меня есть скрипт Php, который является файлом UTF-8. В этом скрипте я хочу сделать это:

<? echo "âêïû\n"; ?> 

Если я запустил его в командной строке Windows, я получаю следующее:

 C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php âêïû C:\php> 

Я не смог найти правильную схему преобразования. Я тоже пробовал этот код:

 $tab = mb_list_encodings(); foreach ($tab as $enc1) { foreach ($tab as $enc2) { $t=mb_convert_encoding("âêïû\n", $enc1, $enc2); if (strlen($t)<14) { echo $enc1." ".$enc2." = ".$t."\n"; } } } 

И я не нашел правильного преобразования!

Любая помощь будет принята с благодарностью

Проблема в том, что Windows cmd line по умолчанию не поддерживает UTF8. Из этой ссылки , если вы будете следовать этим

  1. Откройте окно командной строки
  2. Измените свойства окна, чтобы использовать что-то помимо стандартного растрового шрифта. он, похоже, работает хорошо.
  3. Запустите «chcp 65001» из командной строки

Вы должны иметь возможность выводить utf8.

Вы поставили меня на правильный путь, но возникла проблема (я люблю Windows \ o /):

 C:\php>chcp 65001 Page de codes active : 65001 C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php | more Mémoire insuffisante. 

Mémoire insuffisante = недостаточно памяти.

Если я попробую

 C:\php>chcp 1252 C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php C:\php>ééîîïïÂÂÂÂâûü 

оно работает. Только Бог знает почему. Но это работает. Спасибо, что поставили меня на правильный путь!

Кстати, PHP-код для правильной формы UTF8 для командной строки:

  echo mb_convert_encoding($utf8_string, "pass", "auto");