Как перекодировать формат файла при архивации тела запроса в zip (jmeter)?
При архивации тела запроса в формате хмл в зип архив, файл записывается в кодировке unsi, то есть кириллица, которой в выписке очень много, не отображается корректно. Пробовал прописать дефолтную кодировку через джметр пропертис, не помогает, пробовал через семплер прописать логику prev.setDataEncoding("UTF-8"), все равно файл пакуется в анси, также пробовал в джметр.бат определить prev.setDataEncoding("UTF-8"), все равно не помогает, может есть какие то варианты сделать принудительную запись в ютф8 в самой логике кода?
def destination = new java.util.zip.ZipOutputStream(new FileOutputStream(new File('request' + ${__Random(100000,200000,)} + '.zip')))
destination.putNextEntry(new java.util.zip.ZipEntry(prev.getSampleLabel() + '.xml'))
destination << prev.getSamplerData().bytes
destination.close()
Ответы (1 шт):
Файл записывается в дефолтной кодировке для JVM (значение системной проперти file.encoding), которую можно задать в файле system.properties
Если вы хотите поменять кодировку принудительно только для вашего куска кода, который делает ZIP архив - это тоже можно:
на уровне конструктора ZipOutputStream
def destination = new java.util.zip.ZipOutputStream(new FileOutputStream(new File('request' + ${__Random(100000,200000,)} + '.zip')), StandardCharsets.UTF_8)
и при записи запроса в файл
destination << prev.getSamplerData().getBytes(StandardCharsets.UTF_8)