diff --git a/core/lib/Drupal/Component/Utility/Unicode.php b/core/lib/Drupal/Component/Utility/Unicode.php
index f163a14..8db3b5f 100644
--- a/core/lib/Drupal/Component/Utility/Unicode.php
+++ b/core/lib/Drupal/Component/Utility/Unicode.php
@@ -141,7 +141,8 @@ public static function setStatus($status) {
    *
    * Because of the need to be able to handle text in various encodings, we do
    * not support mbstring function overloading. HTTP input/output conversion
-   * must be disabled for similar reasons.
+   * must be disabled for similar reasons. Additionally, we check that encoding-
+   * related parameters are correctly set for PHP versions 5.6 and up.
    *
    * @return string
    *   A string identifier of a failed multibyte extension check, if any.
@@ -175,6 +176,36 @@ public static function check() {
         return 'mbstring.http_output';
       }
     }
+    if (version_compare(PHP_VERSION, '5.6.0') => 0) {
+      // Check encoding settings for PHP versions 5.6 and up.
+      $php_encoding_settings = array(
+        'php.input_encoding',
+        'php.internal_encoding',
+        'php.output_encoding',
+      );
+      foreach ($php_encoding_settings as $php_encoding_setting) {
+        if (strtolower(ini_get($php_encoding_setting)) != 'utf-8') {
+          static::$status = static::STATUS_ERROR;
+          return $php_encoding_setting;
+        }
+      }
+
+      $deprecated_encoding_settings = array(
+        'iconv.input_encoding',
+        'iconv.internal_encoding',
+        'iconv.output_encoding',
+        'mbstring.http_input',
+        'mbstring.internal_encoding',
+        'mbstring.http_output',
+      );
+      foreach ($deprecated_encoding_settings as $deprecated_encoding_setting) {
+        // Deprecated parameters must be either not set, or set to UTF-8.
+        if (ini_get($deprecated_encoding_setting) !== FALSE && strtolower(ini_get($deprecated_encoding_setting)) != 'utf-8') {
+          static::$status = static::STATUS_ERROR;
+          return $deprecated_encoding_settings;
+        }
+      }
+    }
 
     // Set appropriate configuration.
     mb_internal_encoding('utf-8');
