-
-
Notifications
You must be signed in to change notification settings - Fork 5.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unicode "|" character is being replaced in filenames on filesystems that support it #4547
Comments
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Maybe you can add simple flag |
Documentation suggests to use (Maybe |
Can someone make a summary of which popular FS/OS blocks which characters? We may be able to get away with using |
Here:
https://en.m.wikipedia.org/wiki/Comparison_of_file_systems
Limits -> 3rd column
вс, 12 мар. 2023 г., 01:39 pukkandan ***@***.***>:
… Can someone make a summary of which popular FS/OS blocks which characters?
We may be able to get away with using --windows-filenames to deal with
this, but I need to be sure it won't cause issues
—
Reply to this email directly, view it on GitHub
<#4547 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AH7QXG3OOTCRZCMYAFJW7QDW3TWIVANCNFSM55P3MMBQ>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
In Linux out of all the characters, there are only I suggest checking the OS environment and automatically applying |
This comment was marked as duplicate.
This comment was marked as duplicate.
The character set support in the destination file system is a factor, as well as the OS. Then one could consider whether some weird character might be censored even if the FS allows it, so as to make the filename acceptable in other common FSs (to which the file might be copied). |
This comment was marked as duplicate.
This comment was marked as duplicate.
In case someone wonders how to rename the already saved files, use the Linux shell command is In order to rename all of the files in the current directory recursively, one can apply the following commands one after another:
|
An implementation where explicitly passing |
This comment was marked as spam.
This comment was marked as spam.
As of writing, the I did find a workaround that works today, by setting This will replace double quotes with regular single quotes instead. Ideally they'd be left alone, but at least these are not problematic. |
This comment was marked as off-topic.
This comment was marked as off-topic.
@NintendoManiac64 Off topic... It's just what seemed reasonable to me at the time. It is possible there are better alternatives, but any benefit gained by changing this is not worth breaking compatibility now. You can always do custom replacements with |
Checklist
Provide a description that is worded well enough to be understood
Per the documentation
--no-restrict-filenames
should support Unicode characters. However the|
character, which is valid Unicode is being replaced with_
in file paths -Actual behavior -
Expected behavior -
The video title on Youtube is "Homemade Plastic Injection Machine | DIY" so the expected file path is -
Notes -
I'm running Ubuntu 21 with a
ext4
filesystem,|
is a supported character in filenames -To the best of my knowledge NTFS (Windows) is the only filesystem that doesn't support
|
in a path.yt-dlp
already handles filenames differently when running on Windows via the default--no-windows-filenames
. Removing the|
restriction for non-NTFS shouldn't cause an issue.Extras -
While this ticket is specific to the '|' character NTFS is the only filesystem that doesn't support all Unicode characters -
It may be worth exploring supporting the entire Unicode character set in
yt-dlp
.Provide verbose output that clearly demonstrates the problem
yt-dlp -vU <your command line>
)[debug] Command-line config
) and insert it belowComplete Verbose Output
The text was updated successfully, but these errors were encountered: