diff --git a/checkstyle.py b/checkstyle.py
index 420f256..a73c7da 100755
--- a/checkstyle.py
+++ b/checkstyle.py
@@ -152,10 +152,13 @@
 
 def _PrintErrorsAndWarnings(errors, warnings):
   """Prints given errors and warnings."""
+  system_encoding = sys.getdefaultencoding()
+  if (system_encoding == 'ascii'):
+    system_encoding = 'UTF-8'
   if errors:
-    print('ERRORS:\n'.join(errors))
+    print('ERRORS:\n' + '\n'.join(map(lambda x: x.encode(system_encoding), errors)))
   if warnings:
-    print('WARNINGS:\n%s'.join(warnings))
+    print('WARNINGS:\n' + '\n'.join(map(lambda x: x.encode(system_encoding), warnings)))
 
 
 def _ExecuteCheckstyle(java_files, classpath, config_xml):
@@ -180,7 +183,7 @@
                              stdout=subprocess.PIPE, env=checkstyle_env)
     stdout, _ = check.communicate()
     # A work-around for Checkstyle printing error count to stdio.
-    if 'Checkstyle ends with' in stdout.splitlines()[-1]:
+    if '</checkstyle>' in stdout.splitlines()[-2]:
       stdout = '\n'.join(stdout.splitlines()[:-1])
     return stdout
   except OSError as e:
