diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc
index 95adc95..5cdfedd 100644
--- a/core/includes/bootstrap.inc
+++ b/core/includes/bootstrap.inc
@@ -626,7 +626,7 @@ function drupal_environment_initialize() {
 
   // Set sane locale settings, to ensure consistent string, dates, times and
   // numbers handling.
-  setlocale(LC_ALL, 'C');
+  setlocale(LC_ALL, 'C.UTF-8');
 
   // Detect string handling method.
   unicode_check();
diff --git a/core/modules/system/lib/Drupal/system/Tests/Bootstrap/EnvironmentUnitTest.php b/core/modules/system/lib/Drupal/system/Tests/Bootstrap/EnvironmentUnitTest.php
new file mode 100644
index 0000000..fed8646
--- /dev/null
+++ b/core/modules/system/lib/Drupal/system/Tests/Bootstrap/EnvironmentUnitTest.php
@@ -0,0 +1,32 @@
+<?php
+
+/**
+ * @file
+ * Definition of Drupal\system\Tests\Bootstrap\EnvironmentUnitTest.
+ */
+
+namespace Drupal\system\Tests\Bootstrap;
+
+use Drupal\simpletest\UnitTestBase;
+
+/**
+ * Tests initialization of system environment.
+ */
+class EnvironmentUnitTest extends UnitTestBase {
+  public static function getInfo() {
+    return array(
+      'name' => 'Environment initialization',
+      'description' => 'Tests initialization of system environment.',
+      'group' => 'Bootstrap',
+    );
+  }
+
+  /**
+   * Tests system locale.
+   */
+  function testLocale() {
+    $utf8_string = 'äöüßαβγδεζηθικλμνξοσὠ';
+    $this->assertIdentical(escapeshellcmd($utf8_string), $utf8_string);
+    $this->assertIdentical(escapeshellarg($utf8_string), '"' . $utf8_string . '"');
+  }
+}
