diff --git a/MSVC/winmake.py b/MSVC/winmake.py
index 62b214852c4c7ee46d8b62d0e0d676d97a7968d6..f81e54d9c236e52dfa4b85b7bcf4401ac6e4fca6 100644
--- a/MSVC/winmake.py
+++ b/MSVC/winmake.py
@@ -102,7 +102,7 @@ def getVSEnv(arch='x64', platform='', version=''):
                          shell=True,
                          stdout=subprocess.PIPE)
     stdout, _ = p.communicate()
-    out = stdout.decode('utf-8').split("\r\n")[5:-1]
+    out = stdout.decode('utf-8', errors='ignore').split("\r\n")[5:-1]
     return dict(s.split('=', 1) for s in out)
 
 
@@ -157,7 +157,7 @@ def make(pkg_info, force, sdk_version, toolset):
             os.remove(build_file)
         else:
             pkg_build_uptodate = is_build_uptodate(pkg_name, build_file)
-            with open(build_file, 'r+') as f:
+            with open(build_file, 'r+', encoding="utf8", errors='ignore') as f:
                 current_version = f.read()
                 if current_version == version:
                     pkg_ver_uptodate = True
@@ -242,7 +242,7 @@ def remove_archive_if_needed(pkg_build_path, dirty_path):
 
 
 def extract_tar(pkg_build_path, name, path):
-    with tarfile.open(path, 'r') as tarball:
+    with tarfile.open(path, 'r', encoding="utf8", errors='ignore') as tarball:
         tar_common_prefix = os.path.commonprefix(tarball.getnames())
         dirty_path = contrib_build_dir + '\\' + tar_common_prefix
         remove_archive_if_needed(pkg_build_path, dirty_path)
@@ -332,7 +332,7 @@ def get_pkg_file(pkg_name):
 
 def resolve(pkg_name, force=False, sdk_version='', toolset=''):
     pkg_json_file = get_pkg_file(pkg_name)
-    with open(pkg_json_file) as json_file:
+    with open(pkg_json_file, encoding="utf8", errors='ignore') as json_file:
         log.info('Resolving: ' + pkg_name)
         pkg_info = json.load(json_file)
         try:
@@ -345,7 +345,7 @@ def resolve(pkg_name, force=False, sdk_version='', toolset=''):
 
 def track_build(pkg_name, version):
     build_file = contrib_build_dir + '\\.' + pkg_name
-    f = open(build_file, "w+")
+    f = open(build_file, "w+", encoding="utf8", errors='ignore')
     f.write(version)
     f.close()
 
@@ -537,6 +537,11 @@ class MSbuilder:
     def build(self, pkg_name, proj_path, sdk_version, toolset):
         if not os.path.isfile(self.msbuild):
             raise IOError('msbuild.exe not found. path=' + self.msbuild)
+        if os.environ.get('JENKINS_URL'):
+            log.info("Jenkins Clear DebugInformationFormat")
+            self.__class__.replace_vs_prop(proj_path,
+                                           'DebugInformationFormat',
+                                           'None')
         # force chosen sdk
         self.__class__.replace_vs_prop(proj_path,
                                        'WindowsTargetPlatformVersion',
@@ -637,7 +642,7 @@ def main():
             getSHrunner().exec_batch('rmdir', ['/s', '/q', contrib_build_dir])
         else:
             pkg_json_file = get_pkg_file(parsed_args.clean)
-            with open(pkg_json_file) as json_file:
+            with open(pkg_json_file, encoding="utf8", errors='ignore') as json_file:
                 pkg_info = json.load(json_file)
                 dir_to_clean = contrib_build_dir + '\\' + pkg_info['name']
                 file_to_clean = contrib_build_dir + '\\.' + pkg_info['name']