During our development we have experience the following:
If you have a user in your Windows machine with a name hat uses Japanese characters like “雄鳥お人好し” you will have the following in your system:
* The Windows Shell will show the path correctly, that is: “C:\Users\雄鳥お人好し”
* cmd.exe will show: “C:\Users\??????”
* All the env variables will be wrong, which means they will be similar to the info shown in cmd.exe
The above is a problem because the implementation of expanduser in ntpath.py uses the env variables to get expand the path which means that in this case the returned path will be wrong.
I have attached a small example of how to get the user profile path (~) on Windows using SHGetFolderPathW or SHGetKnownFolderPathW to fix the issue.
PS: I don't know if this issue also occurs on python 3. |