From 47625a616d3f02387be242e671d8668bfe402a4a Mon Sep 17 00:00:00 2001 From: AsukaVuuyn <1346007099@qq.com> Date: Fri, 20 Feb 2026 21:45:49 +0800 Subject: [PATCH] fix: support native UTF-8 downloaded filenames for browsers --- cps/helper.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cps/helper.py b/cps/helper.py index 8cd7b451..f85e6fa1 100644 --- a/cps/helper.py +++ b/cps/helper.py @@ -1091,8 +1091,13 @@ def get_download_link(book_id, book_format, client): file_name = book.title if len(book.authors) > 0: file_name = file_name + ' - ' + book.authors[0].name + original_name = file_name file_name = get_valid_filename(file_name, replace_whitespace=False, force_unidecode=True) - quoted_file_name = file_name if client == "kindle" else quote(file_name) + if client == "kindle": + quoted_file_name = file_name + else: + native_name = get_valid_filename(original_name, replace_whitespace=False, force_unidecode=False) + quoted_file_name = quote(native_name) headers = Headers() headers["Content-Type"] = mimetypes.types_map.get('.' + book_format, "application/octet-stream") headers["Content-Disposition"] = ('attachment; filename="{}.{}"; filename*=UTF-8\'\'{}.{}').format(