diff --git a/src/Base/CMakeLists.txt b/src/Base/CMakeLists.txt
index d589d4d062..8e14465872 100644
--- a/src/Base/CMakeLists.txt
+++ b/src/Base/CMakeLists.txt
@@ -2,6 +2,7 @@ if(WIN32)
add_definitions(-DFCBase)
add_definitions(-DPYCXX_DLL)
add_definitions(-DBOOST_DYN_LINK)
+ add_definitions(-DZIPIOS_UTF8)
endif(WIN32)
include_directories(
diff --git a/src/zipios++/zipfile.cpp b/src/zipios++/zipfile.cpp
index 6811eba518..498d81d610 100644
--- a/src/zipios++/zipfile.cpp
+++ b/src/zipios++/zipfile.cpp
@@ -9,7 +9,7 @@
#include "zipios_defs.h"
#include "backbuffer.h"
-#if defined(_WIN32)
+#if defined(_WIN32) && defined(ZIPIOS_UTF8)
#include
#endif
@@ -36,7 +36,7 @@ ZipFile::ZipFile( const string &name , int s_off, int e_off
_filename = name ;
-#if defined(_WIN32)
+#if defined(_WIN32) && defined(ZIPIOS_UTF8)
std::wstring wsname = Base::FileInfo(name).toStdWString();
ifstream _zipfile( wsname.c_str(), ios::in | ios::binary ) ;
#else
diff --git a/src/zipios++/zipinputstream.cpp b/src/zipios++/zipinputstream.cpp
index 606e9e2584..f16f993c19 100644
--- a/src/zipios++/zipinputstream.cpp
+++ b/src/zipios++/zipinputstream.cpp
@@ -5,7 +5,7 @@
#include "zipinputstreambuf.h"
#include "zipinputstream.h"
-#if defined(_WIN32)
+#if defined(_WIN32) && defined(ZIPIOS_UTF8)
#include
#endif
@@ -27,7 +27,7 @@ ZipInputStream::ZipInputStream( const std::string &filename, std::streampos pos
: std::istream( 0 ),
ifs( 0 )
{
-#if defined(_WIN32)
+#if defined(_WIN32) && defined(ZIPIOS_UTF8)
std::wstring wsname = Base::FileInfo(filename).toStdWString();
ifs = new std::ifstream( wsname.c_str(), std::ios::in |std:: ios::binary ) ;
#else