From e817228280d0ae312206e431642b0d4631815177 Mon Sep 17 00:00:00 2001 From: Bine Date: Sat, 18 Oct 2025 18:10:24 +0200 Subject: [PATCH] Fix non-ASCII characters in project names --- gns3server/api/routes/controller/projects.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gns3server/api/routes/controller/projects.py b/gns3server/api/routes/controller/projects.py index caa2d3879..cea7c91f3 100644 --- a/gns3server/api/routes/controller/projects.py +++ b/gns3server/api/routes/controller/projects.py @@ -380,7 +380,13 @@ async def export_project( except (ValueError, OSError, RuntimeError) as e: raise ConnectionError(f"Cannot export project: {e}") - headers = {"CONTENT-DISPOSITION": f'attachment; filename="{project.name}.gns3project"'} + fallback = project.name.encode("ascii", "ignore").decode() or "project" + encoded = urllib.parse.quote(project.name, safe="") + headers = { + "Content-Disposition": ( + f'attachment; filename="{fallback}.gns3project"; filename*=UTF-8\'\'{encoded}.gns3project' + ) + } return StreamingResponse(streamer(), media_type="application/gns3project", headers=headers)