Там я пытаюсь загрузить XML-контент с удаленного хоста, используя Node.js.
Проблема в том, что немецкий "umlaute", такой как "ä", не работает.Как и в браузере, это обычно простая проблема кодирования.Но так как содержимое XML на удаленном хосте закодировано в iso-8859-2 «Я не смог вернуть письма к работе.
Функциональность очень проста. Я просто использую HTTP-клиента по умолчанию, встроенный вNode.js для подключения к удаленному хосту с простым запросом get.
Некоторые факты среды:
- Удаленная система использует кодировку "iso-8859-2".
- Кодировка в настоящее время установлена в заголовке ответа.
- Символы не могут быть восстановлены в данных (чанке), полученных
response.onData(chunk)
Работает Node.jsверсия 0.2 на сервере Debian по умолчанию.
Код основан на httpClient по умолчанию, как описано в документации по Node.js.
Я попробовал следующее:
response.defaultAsciiEncoding true/false
response.encoding = UFT-8/ascii
Я использовал кодировщик / декодер UTF-8 для кодирования / декодирования фрагмента. После того, как это не удалось, я попытался закодировать / декодировать все тело ответа.
Я не очень знаком с использованием буферов, и я предполагаю, чтопроблема должна быть в том, что дirection.Или Node.js (или httpClient) просто не может обрабатывать другие типы кодирования по умолчанию, и это мое второе предположение.В этом случае мне нужно написать свой собственный HTTP-клиент, используя net lib, я думаю.Я просто хочу убедиться, что я не иду в неправильном направлении:)