Index: /trunk/src/VBox/ValidationKit/common/utils.py
===================================================================
--- /trunk/src/VBox/ValidationKit/common/utils.py	(revision 71156)
+++ /trunk/src/VBox/ValidationKit/common/utils.py	(revision 71157)
@@ -6,4 +6,6 @@
 Common Utility Functions.
 """
+
+from __future__ import print_function;
 
 __copyright__ = \
@@ -61,4 +63,29 @@
     xrange = range; # pylint: disable=redefined-builtin,invalid-name
     long = int;     # pylint: disable=redefined-builtin,invalid-name
+
+
+#
+# Output.
+#
+
+def printOut(sString):
+    """
+    Outputs a string to standard output, dealing with python 2.x encoding stupidity.
+    """
+    sStreamEncoding = sys.stdout.encoding;
+    if sStreamEncoding == 'UTF-8' or not isinstance(sString, unicode):
+        print(sString);
+    else:
+        print(sString.encode(sStreamEncoding, 'backslashreplace').decode(sStreamEncoding));
+
+def printErr(sString):
+    """
+    Outputs a string to standard error, dealing with python 2.x encoding stupidity.
+    """
+    sStreamEncoding = sys.stderr.encoding;
+    if sStreamEncoding == 'UTF-8' or not isinstance(sString, unicode):
+        print(sString, file = sys.stderr);
+    else:
+        print(sString.encode(sStreamEncoding, 'backslashreplace').decode(sStreamEncoding), file = sys.stderr);
 
 
Index: /trunk/src/VBox/ValidationKit/testmanager/batch/vcs_import.py
===================================================================
--- /trunk/src/VBox/ValidationKit/testmanager/batch/vcs_import.py	(revision 71156)
+++ /trunk/src/VBox/ValidationKit/testmanager/batch/vcs_import.py	(revision 71157)
@@ -131,7 +131,6 @@
                 sMessage = sMessage[:VcsRevisionData.kcchMax_sMessage - 4] + ' ...';
             if not self.oConfig.fQuiet:
-                if isinstance(sMessage, unicode) and hasattr(sMessage, 'encode'):
-                    sMessage = sMessage.encode(sys.getdefaultencoding(), 'ignore')
-                print(u'sDate=%s iRev=%u sAuthor=%s sMsg[%s]=%s' % (sDate, iRevision, sAuthor, type(sMessage).__name__, sMessage));
+                utils.printOut(u'sDate=%s iRev=%u sAuthor=%s sMsg[%s]=%s'
+                               % (sDate, iRevision, sAuthor, type(sMessage).__name__, sMessage));
             oData = VcsRevisionData().initFromValues(self.oConfig.sRepository, iRevision, sDate, sAuthor, sMessage);
             oLogic.addVcsRevision(oData);
