Я отправляю из curl в службу с REST API, и я не понимаю, почему сервер не получает специальные символы ÆØÅ правильно.Специальные символы ÆØÅ не получены с помощью curl
Когда я делаю это из curl в CMD, сервер неправильно принимает датские символы ÆØÅ.
Когда я пользуюсь браузером через API StrongLoop, символы правильно вставлены.
Насколько я могу исследовать, мне нужна определенная кодировка. Но это не имеет никакого эффекта. Использование chcp 65001 и шрифта Lucida Console не помогает. Я немного потерял идентификацию проблемы.
Эта команда используется:
curl -X POST -H "Content-Type: application/json; charset=UTF-8" -H "Accept: application/json" -d "{ \"metadata\": { \"user\": \"aa\", \"version\": \"ED\", \"transaction_date\": \"2016-12-30\", \"context_info\": \"string\" }, \"container\": { \"type\": \"SC\", \"type_source\": \"string\", \"op_status_source\": \"string\", \"identification\": \"øæå\", \"id_source\": \"876332d2321\", \"ver\": 0 }}" "http://xx.com/xx/containers?access_token=xxx
Ответ:
{"type":"SC","type_source":"string","op_status_source":"string","identification":"���","id_source":"8763wwd32d2321","ver":1}
æøå будет либо ∩┐╜∩┐╜∩┐╜», или подобное, в зависимости на CHCP.
Также обратите внимание, что консоль будет отображать æøå правильно, но не ответ.
Невозможно попробовать с '--data-binary' вместо' -d'? (Несмотря на «двоичный» в имени опции, это не (просто) для двоичных данных, а просто обеспечивает отправку данных как есть.) – sideshowbarker
Что такое набор символов 'CMD'? * Это * - набор символов аргументов 'curl', т. Е. Данные, так что это должна быть кодировка. Если вы используете файл для передачи данных, вместо аргумента командной строки, вы можете управлять кодировкой файла и делать его UTF-8. Чтобы увидеть кодовую страницу «CMD», запустите команду 'mode', например. моя говорит ['Кодовая страница: 437'] (https://en.wikipedia.org/wiki/Code_page_437). – Andreas
Чтобы изменить 'CMD' на UTF-8, см. [Unicode символы в командной строке Windows - как?] (Http://stackoverflow.com/q/388490/5221149) На самом деле, поскольку это действительно ответ для вас, я проголосуйте, чтобы закрыть ваш вопрос в качестве дубликата. --- Godt nytår ;-) – Andreas