2016-09-02 4 views
3

Я использую AWS CLI в Windows для запроса элементов из DynamoDb. Некоторые из этих элементов включают символы, отличные от ASCII.Могу ли я заставить AWS CLI использовать кодировку UTF?

Когда запрос попадает те пункты, он умирает с ошибкой

«CharMap» кодек не может кодировать символ u'u010d»в положении ....

После нескольких часов поиск, я, наконец, наткнулся на хакерское обходное решение; в каталоге AWCLI \ encodings я скопировал utf_8.pyc над cp1252.pyc. Это позволяет мне продолжать, но, конечно, уродливо.

Прежде чем приступать к этому, я также попытался настроить переменные окружения, такие как LANG, LC_ALL, LC_CTYPE, на различные перестановки en-US.UTF-8 или аналогичные, все без эффекта, которые я мог видеть.

Кто-нибудь знает, как (или даже возможно) сообщить AWS CLI использовать конкретную кодировку?

ответ

2

Поскольку вы используете интерфейс командной строки , изменение схемы кодирования терминала должно устранить проблему.

Тип:

chcp 65001 

в консоли (для UTF-8, вы также можете попробовать различные кодировки) и повторите свои действия.

+2

Для этого в каталоге AWSCLI \ encodings мне пришлось скопировать utf_8.pyc на cp65001.pyc (которого не было), но это менее грязно, чем то, что я делал ранее. Благодаря! :) –

+0

Благослови вас @RookieRick, я пытался заставить это работать пару часов, пока я наконец не наткнулся на ваш блестящий комментарий. –

Смежные вопросы