diff --git a/src/data_transfer.cpp b/src/data_transfer.cpp
index de08aea95c7cbe7724a92a7c191bf74cc276b085..cae3938508ba77e1b5ef6138d2183f26c9a74c9d 100644
--- a/src/data_transfer.cpp
+++ b/src/data_transfer.cpp
@@ -723,7 +723,11 @@ DataTransferFacade::acceptAsFile(const DRing::DataTransferId& id,
     const auto& iter = pimpl_->map_.find(id);
     if (iter == std::end(pimpl_->map_))
         return DRing::DataTransferError::invalid_argument;
+#ifndef _WIN32
     iter->second->accept(file_path, offset);
+#else
+    iter->second->accept(decodeMultibyteString(file_path), offset);
+#endif
     return DRing::DataTransferError::success;
 }