-
Notifications
You must be signed in to change notification settings - Fork 187
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 support #89
Labels
Comments
Original comment by |
Original comment by
|
dreamer2908
added a commit
to dreamer2908/YAXBPC
that referenced
this issue
Oct 9, 2016
…dows-1252 It turns out that xdelta3 doesn't have proper unicode support. In Linux, Unix, Mac OS, and the like, command-line options (filenames included) are passed to xdelta3 in UTF-8 encoding (byte array). xdelta3 receives them as is, uses them as is to access files, stores them as is in vcdiff file header, loads them from vcdiff file header as is, displays them as is. The filenames are not transformed/encoded/decoded/whatever-ed at all. UTF-8 is an Unicode encoding, supporting all characters. So, everything works fine, unicode or ascii or whatever. Nothing special is required. You can say it happens to work. In Windows, command-line options are passed to xdelta3's main (int argc, char **argv) in Microsoft Windows Codepage 1252 (also byte array). xdelta3 also receives/blablah-s them as is. The filenames are not transformed/etc-ed at all. However, cp1252 only supports a small set of character (see here http://www.ascii.ca/cp1252.htm ). All characters in path/filename not supported in cp1252 will become either question marks (?) or equivalent cp1252 character if available (like full-width <>:"/\|?* becomes ascii <>:"/\|?*). Unicode filenames are doomed. For Unicode support in Windows, xdelta3 needs a new wmain(int, wchar_t**) to receive command-line options as wide char (UTF-16), them uses the unicode versions of IO API like CreateFileW, etc. This has been requested years ago here jmacd/xdelta#89 The workaround (previously called trick) still works.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Original issue reported on code.google.com by
jdmw...@gmail.com
on 16 Jun 2009 at 3:49Attachments:
The text was updated successfully, but these errors were encountered: