I have a USB flash drive that I've fully encrypted on Windows. When I mount it on Linux (tried on Fedora and Ubuntu) cyrillic letters in filenames are displayed as question marks. Any way to fix that? Also, I had to use the console version of veracrypt as the GUI doesn't display my drive in the select device window (but it's connected and discoverable using the lsblk command) .
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I never had such issues with Japanese locale settings. Therefore, I'm unable to reproduce. Additionally, it's, of course, an assumption, because VeraCrypt provides a virtual storage device to the system and, therefore, should have nothing to do with charsets. I can only think of OS misconfiguration or partially unsupported filesystem within the VC volume. But that's not VC's issue, neither. Without further details, it's just guesswork.
Greets
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Here are more details. I tried two different distros with the same result: Ubuntu 16 and fedora 39. I encrypted a USB drive on windows and then put backup files on it (some of them had cyrillic names). When I mount the drive in livecd Linux with default OS settings these files are displayed as question marks.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Same problem.
I think it is related to the FAT32 file system.
I have an encrypted disk in it, but when connected with another one (NTFS for example) everything is displayed normally.
I tried as you recommended - formatted the USB in FAT32, transferred some directories and files with Cyrillic alphabet, mounted on Linux (I have Ubuntu 20.04) - everything displays normally.
The problem is in mounting VC file system FAT32.
In the VC application on Linux there is a field in the settings - File system - Mounting options - maybe there you need to specify some options to mount correctly? For example, to specify encoding?
Thanks
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Can you try "utf8" or "iocharset=utf8" in the Mount options and see if anything changes? I believe this will make your filenames show up properly, but I don't think this change can be pushed globally for everyone as it would break behaviour for existing users whose volume filenames are in some different encoding.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Whenever you create a new FAT volume on Windows, I believe it'll use UTF-8 encoding for the filenames which is fine. But due to old compatibility reasons the default iocharset in Linux mount is iso8859-1 AKA Latin1. This will mean your UTF-8 will be messed up. On the other hand, since the beginning of TrueCrypt/VeraCrypt the iso8859-1 has been kept as the default on Linux side for mounting, which means that any existing volumes are using it, and changing it now would break existing volumes filenames.
So as the workaround, you should try adding "utf8" or "iocharset=utf8" in your Mount options.
Last edit: Jertzukka 2024-06-03
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Can you try "iocharset=cp1251" or "iocharset=cp1251,codepage=866"? This is not VeraCrypt issue per se, you need to let mount know which encoding you had on your Windows system when the contents were created so it knows how to handle the filenames.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Just tried.. It didn't work either. I created a file with Cyrillic letters using the touch command on the encrypted volume and it displays as expected regardless of the mount options. I think the problem might be that I copied these files using total commander and it might have not correctly recognized the filesystem on the encrypted volume.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Try formatting the disk to exFAT (especially if you have a USB flash drive)
I tried this option - it worked. With the same file structure that gave “????” in Linux.
Good luck
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have a USB flash drive that I've fully encrypted on Windows. When I mount it on Linux (tried on Fedora and Ubuntu) cyrillic letters in filenames are displayed as question marks. Any way to fix that? Also, I had to use the console version of veracrypt as the GUI doesn't display my drive in the select device window (but it's connected and discoverable using the lsblk command) .
To me, it seems to be an OS issue. You could have a look at this post. May be helpful.
https://askubuntu.com/questions/1152285/terminal-cyrillic-problem
Greets
Edit: at least the question mark part.
Last edit: RealTehreal 2024-04-05
I use files gui to access the mounted drive, not console. I used veracrypt generic installer BTW
Any update on this?
Again, it's an OS issue. You will have to look up on how to set appropriate locale settings for your Linux. That's unlikely a VeraCrypt issue.
Greets
Is it your assumption or you tried to reproduce the issue and it looked as expected? I'll look into locale settings anyway.
I never had such issues with Japanese locale settings. Therefore, I'm unable to reproduce. Additionally, it's, of course, an assumption, because VeraCrypt provides a virtual storage device to the system and, therefore, should have nothing to do with charsets. I can only think of OS misconfiguration or partially unsupported filesystem within the VC volume. But that's not VC's issue, neither. Without further details, it's just guesswork.
Greets
Here are more details. I tried two different distros with the same result: Ubuntu 16 and fedora 39. I encrypted a USB drive on windows and then put backup files on it (some of them had cyrillic names). When I mount the drive in livecd Linux with default OS settings these files are displayed as question marks.
Please try using a USB key without encryption. Use the same filesystem as you do for the VC volumes instead. Will this result in the same behavior?
Same problem.
I think it is related to the FAT32 file system.
I have an encrypted disk in it, but when connected with another one (NTFS for example) everything is displayed normally.
I tried as you recommended - formatted the USB in FAT32, transferred some directories and files with Cyrillic alphabet, mounted on Linux (I have Ubuntu 20.04) - everything displays normally.
The problem is in mounting VC file system FAT32.
In the VC application on Linux there is a field in the settings - File system - Mounting options - maybe there you need to specify some options to mount correctly? For example, to specify encoding?
Thanks
Can you try "utf8" or "iocharset=utf8" in the Mount options and see if anything changes? I believe this will make your filenames show up properly, but I don't think this change can be pushed globally for everyone as it would break behaviour for existing users whose volume filenames are in some different encoding.
Whenever you create a new FAT volume on Windows, I believe it'll use UTF-8 encoding for the filenames which is fine. But due to old compatibility reasons the default iocharset in Linux mount is iso8859-1 AKA Latin1. This will mean your UTF-8 will be messed up. On the other hand, since the beginning of TrueCrypt/VeraCrypt the iso8859-1 has been kept as the default on Linux side for mounting, which means that any existing volumes are using it, and changing it now would break existing volumes filenames.
So as the workaround, you should try adding "utf8" or "iocharset=utf8" in your Mount options.
Last edit: Jertzukka 2024-06-03
great solution!
In the Mounting Options section it is enough to specify “utf8”, and everything worked.
Thanks :)
Well... None worked for me. I tried adding iocharset=utf8, codepage=1251, changing locale, and keymap
Can you try "iocharset=cp1251" or "iocharset=cp1251,codepage=866"? This is not VeraCrypt issue per se, you need to let mount know which encoding you had on your Windows system when the contents were created so it knows how to handle the filenames.
Just tried.. It didn't work either. I created a file with Cyrillic letters using the touch command on the encrypted volume and it displays as expected regardless of the mount options. I think the problem might be that I copied these files using total commander and it might have not correctly recognized the filesystem on the encrypted volume.
Try formatting the disk to exFAT (especially if you have a USB flash drive)
I tried this option - it worked. With the same file structure that gave “????” in Linux.
Good luck
It's not that important anyway. I'm fine sticking with Latin names.