-
-
Notifications
You must be signed in to change notification settings - Fork 4k
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
fix issues related to encoding #7791
base: master
Are you sure you want to change the base?
Conversation
1863b81
to
9d74a49
Compare
I think I'd prefer |
Backward compatibility. |
@ncw any progress or further concern? :-) |
fixed #7824
|
I think you need to fix encoding once and for all. The main problem is that: Here are some suggestions:
|
|
Hi @iseahound, thank you for your suggestions. But first, let me clarify some of your misunderstandings.
The encoding of one character as multiple characters is inevitable.
Repeating character For example, if one has a
Seems correct but not exactly right. |
Yes if we could go back to 2019 I would definitely choose to develop another coding system from scratch, but it has been 5 years. In addition to a couple of incorrect implementations that I fixed, there are two main design issues (but not implementation issues) with the current coding system. They don't pose a real problem if the user can use them properly and fixing them is destructive.
But for now I'd like to keep backward compatibility as much as possible. And, at least for sure, we need a way to actually disable coding ( |
There seems to be problems with orphaned files with escaped characters in the filename: If source and destination encoding is both test.bat (Save as UTF-8)
In other words, even if the two stacks "cancel each other out" there exists a difference in behavior. Using your standard |
Yes, there is an intermediate layer of "standard" encoding, so the short-circuit trick is to use "standard" for both source and destination. But I think you have found another bug. 🙃 |
I have a simple setup of 2 cloud services and one local drive 🤣 |
Fix the way to disable encoding by introducing a new type
Raw
to solve #7456 and #6098.See #7456 and the changes on the document for details.
The behavior of
None
was not changed to keep backward compatibility.And fix vfs cache encoding described in #7760
The problem is when we create and write cache, we use the "OS" encoded ("OS" encoding is hardcoded for different operating systems, not specified by users).
But when we copy it to the remote (backend), we use local.Fs, which accept a name already encoded in "Standard" way.
So we need to send a "Standard" encoded name.
However, the "minimum setup" mentioned in #7760 has not been resolved. See my comment in it for details.
But it's an edge case.
Checklist