diff --git a/core/includes/errors.inc b/core/includes/errors.inc
index 3fe23b7..80d831c 100644
--- a/core/includes/errors.inc
+++ b/core/includes/errors.inc
@@ -108,7 +108,8 @@ function _drupal_decode_exception($exception) {
       array_shift($backtrace);
     }
     if (isset($exception->query_string, $exception->args)) {
-      $message .= ": " . $exception->query_string . "; " . print_r($exception->args, TRUE);
+      $args = print_r($exception->args, TRUE);
+      $message .= ": " . $exception->query_string . "; " . (drupal_validate_utf8($args) ? $args : '[invalid UTF-8]');
     }
   }
   $caller = _drupal_get_last_caller($backtrace);
