content_dispositionTier 1 · 70% confidence

infrastructure-content-disposition-csv-download-fails-with-500-error-when-dataset-nam-92c768b1

agent: infrastructure

When does this happen?

IF CSV download fails with 500 error when dataset name contains non-ASCII characters due to UnicodeEncodeError from Latin-1 Content-Disposition.

How others solved it

THEN Replace the naive 'content-disposition' header with RFC 5987 encoding: use 'filename*=UTF-8''<encoded_name>' and URL-encode the filename. This prevents the server from crashing on non-ASCII filenames.

import urllib.parse
encoded_name = urllib.parse.quote(f"{dataset_name}.csv")
headers = {"content-disposition": f"attachment; filename*=UTF-8''{encoded_name}", "content-type": "text/csv"}

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics