diff --git a/src/fspp/fuse/Fuse.cpp b/src/fspp/fuse/Fuse.cpp index 6303b28b..13d7497b 100644 --- a/src/fspp/fuse/Fuse.cpp +++ b/src/fspp/fuse/Fuse.cpp @@ -11,6 +11,7 @@ #include #include #include "InvalidFilesystem.h" +#include #if defined(_MSC_VER) #include @@ -265,6 +266,9 @@ void Fuse::_logUnknownException() { } void Fuse::run(const bf::path &mountdir, const vector &fuseOptions) { + // Avoid encoding errors for non-utf8 characters, see https://github.com/cryfs/cryfs/issues/247 + bf::path::imbue(std::locale(std::locale(), new std::codecvt_utf8_utf16())); + _mountdir = mountdir; ASSERT(_argv.size() == 0, "Filesystem already started");