Я использую компонент ftps camel с версией camel 2.22.0. FTP-сервер находится в Linux.
https://camel.apache.org/components/latest/ftps-component.html
В имени файла есть специальные символы, которые кодируются с помощью java.net.URLEncoder в UTF-8. Я использую заголовок camelFileName для кодирования имени файла.
Специальные символы, такие как одинарные кавычки, двойные кавычки, фигурные скобки, кодируются, однако, когда имя файла имеет знак британского фунта £, верблюжий заголовок camelFileName заполняется двумя специальными символами, Â £, оба кодируются. Может кто-нибудь объяснить, почему это так?
Пример:
Filename: testfile£.csv,
camelFileName header: testfile£.csv,
encoded filename: testfile%C3%82%C2%A3.csv
String fileName = (String) message.getHeader(CAMEL_FILENAME);
String encodedFileName = Utils.encodeValue(fileName);
private String encodeValue(String value) {
return URLEncoder.encode(value, StandardCharsets.UTF_8.toString());
}