Получить акт по HTTP с именем файла и исходными русскими буквами

Фактические данные получены через расширение interbase от отдельной локальной базы Firebird. Собственная учебная таблица удалена после наблюдений.

Наблюдаемый результат программы
НаблюдениеРезультат
HTTP-статус200
Имя скачиваемого файлаreceipt-42.txt
Content-Typetext/plain; charset=UTF-8
Content-Dispositionattachment; filename="receipt-42.txt"
Полученное содержимое актаАкт приёмки №42 Кабель: 3 шт. Статус: принят
Получено байт77
SHA256 полученного файла3dd5720e3950207d628873762554cb18809e73ca5f7a89d007554ef3b1c5b7bd
Ответ совпал с исходным актомда
Дочерний сервер остановленда
Строки и дополнительные наблюдения
{
    "http": {
        "status": 200,
        "bytes": 77,
        "sha256": "3dd5720e3950207d628873762554cb18809e73ca5f7a89d007554ef3b1c5b7bd",
        "headers": {
            "host": "127.0.0.1:9449",
            "date": "Sat, 07 Nov 2026 12:29:58 GMT",
            "connection": "close",
            "x-powered-by": "PHP\/8.2.35",
            "x-phpman-php": "8.2.35",
            "x-phpman-interbase": "3.0.1",
            "content-type": "text\/plain; charset=UTF-8",
            "content-disposition": "attachment; filename=\"receipt-42.txt\"",
            "content-length": "77",
            "x-content-type-options": "nosniff",
            "cache-control": "no-store"
        },
        "server_started": true,
        "server_stopped": true,
        "http_requests": 1
    },
    "body_text": "Акт приёмки №42\nКабель: 3 шт.\nСтатус: принят\n",
    "client_saved_file": "downloaded.bin",
    "browser_filename": "receipt-42.txt",
    "expected_sha256": "3dd5720e3950207d628873762554cb18809e73ca5f7a89d007554ef3b1c5b7bd",
    "transport": "real HTTP over 127.0.0.1",
    "private_token_published": false,
    "cli_output_buffer_used_as_http_test": false
}

Самостоятельный запуск создаёт result.json с данными и metrics.json с проверками рядом с example.php.