diff --git a/yt_dlp/utils/_utils.py b/yt_dlp/utils/_utils.py index 699bf1e7f6..dc615991e4 100644 --- a/yt_dlp/utils/_utils.py +++ b/yt_dlp/utils/_utils.py @@ -637,8 +637,18 @@ def sanitize_filename(s, restricted=False, is_id=NO_DEFAULT): elif not restricted and char == '\n': return '\0 ' elif is_id is NO_DEFAULT and not restricted and char in '"*:<>?|/\\': - # Replace with their full-width unicode counterparts - return {'/': '\u29F8', '\\': '\u29f9'}.get(char, chr(ord(char) + 0xfee0)) + # Replace with lookalike characters + return { + '"': '\u2033', + '*': '\uA60E', + ':': '\u0589', + '<': '\u227A', + '>': '\u227B', + '?': '\uFF1F', + '|': '\u01C0', + '/': '\u29F8', + '\\': '\u29f9', + }[char] elif char == '?' or ord(char) < 32 or ord(char) == 127: return '' elif char == '"':