Выполнение aws cli с использованием php в windows - ошибка неизвестной кодировки - PullRequest
0 голосов
/ 23 февраля 2019

Попытка вызвать aws cli из php, но простой тест shell_exec('aws help'); приведет к следующей ошибке:

Traceback (most recent call last):
  File "aws", line 27, in <module>
  File "aws", line 23, in main
  File "awscli\clidriver.pyc", line 59, in main
  File "awscli\clidriver.pyc", line 197, in main
  File "awscli\argparser.pyc", line 100, in parse_known_args
LookupError: unknown encoding: cp65001

Отлично работает при запуске непосредственно в командном окне (cmd.exe).).

Версия Python:

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] on win32

По некоторым причинам shell_exec по умолчанию использует utf8 / cp65001 ...

1 Ответ

0 голосов
/ 23 февраля 2019

Наконец-то нашел решение после попытки установить разные настройки языка и настройки php.

Вызов chcp до того, как любой shell_exec решит это!

exec("chcp 850");
...