Only after set options:
builder.setCharset(StandardCharsets.UTF_8);
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
"name" sent correctly, and does not turn into "????? ?????".
*org.apache.httpcomponents httpclient version 4.5.14
Full code of using MultipartEntityBuilder with UTF-8:
var filePath = Path.of("<CyryllicFileName>");
var contentType = ContentType.TEXT_PLAIN.withCharset("UTF-8");
var builder = MultipartEntityBuilder.create();
builder.setCharset(StandardCharsets.UTF_8);
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
var entity = builder
.addTextBody("name", name, contentType)
.addBinaryBody("file",
filePath.toFile(),
ContentType.APPLICATION_OCTET_STREAM,
filePath.toFile().getName())
.addTextBody("collectionId", collectionId)
.addTextBody("parentDocumentId", parentDocumentId)
.addTextBody("publish", "true")
.build();