std::filesystem::path does not expect UTF-8 strings, so they must be converted to native format first (and back to utf-8 after.)