jetwhiz / encfs4win

Windows port of EncFS
https://encfs.win
Other
401 stars 41 forks source link

Mount not working if path contains non-latinic characters #160

Open TuTAH1 opened 1 year ago

TuTAH1 commented 1 year ago

Describe the bug If you try to mount a folder containing non-latin symbols, you can't do it:

  1. If you create crypt folder via GUI app, it'll say "Error saving configuration file"
  2. If you create a create crypt folder in latinic-characters-path and move to path containing non-latin symbols and try to mount it, it will crash with no error
  3. if you use cmd to create crypt folder a path, it'll say "path [path with wrong-encoded non-latin symbols] does not exis. Should it be created?"

To Reproduce Steps to reproduce the behavior:

  1. Create a folder in path ".../русский/ελληνική/"

  2. Try to encrypt it

  3. It's not encrypting

  4. Move encrypted folder to the path with non-latin characters

  5. Try to mount it

  6. It's not mounting

ex: chcp 65001 encfs T:\Temp\русский\ελληνική\ X:\ The directory "T:\Temp\\????????/" does not exist. Should it be created? (y,n)

Desktop (please complete the following information):

Additional context If I use a command without setting a codepage, it will be on 866 althrough chcp say the current code page: 65001

C:\Program Files (x86)\encfs>chcp
Текущая кодовая страница: 65001

C:\Program Files (x86)\encfs>encfs T:\Temp\русский\ελληνική\ X:
The directory "T:\Temp\Ёєёёъшщ\????????/" does not exist. Should it be created? (y,n)

chcp 1251 makes cyrillic characters in the message's path correct, but not greek ones. In 65001, cyrillic characters are dissapear.

C:\Program Files (x86)\encfs>chcp 1251
Текущая кодовая страница: 1251

C:\Program Files (x86)\encfs>encfs T:\Temp\русский\ελληνική\ X:
The directory "T:\Temp\русский\????????/" does not exist. Should it be created? (y,n)