This issue tracks the TODO list in order to fix the encoding issue on Window.
Currently Bitcoin Core uses the ANSI encoding on Windows so that it would affected by user’s language settings, they might not able to open some non-ASCII name files.
You can test all these changes in #13787 (includes leveldb changes)
Open PRs:
- Package the Windows installer in unicode mode (NSIS 3+) (#13827, Up for grab, or wait for Ubuntu 20.04 gitian builder host)
Merged PRs:
- Create the startup shortcut file in unicode mode (#13734)
- Make filelock work on unicode filename (#13862)
- Use
_wfopen
instead offopen
on Windows to pass unicode filename (#13866) - Make boost
fs::path
.string()
to be always encoded to utf-8 (#13877) - Wrap
ifstream
andofstream
to accept unicode filename. (#13878) - Get the command line arguments using unicode (#13883)
- Make bdb read the filename using utf-8 (#13884)
- Make
runCommand
works on unicode filename (#13886) - Convert all
(...)A
function to(...)W
on Windows if it is related to filename or command line. (#13888) - Convert boost filesystem error messages from local multibyte to utf-8 (#14192)
- Make leveldb read the filename using utf-8 (bitcoin-core/leveldb#18)