diff --git a/core/lib/Drupal/Component/Transliteration/PhpTransliteration.php b/core/lib/Drupal/Component/Transliteration/PhpTransliteration.php
index 6704cdf4cff4a3783e6cb481a55b738168a25a54..29d2cdd4c98a8a439ce45aedb09756d8668c81d0 100644
--- a/core/lib/Drupal/Component/Transliteration/PhpTransliteration.php
+++ b/core/lib/Drupal/Component/Transliteration/PhpTransliteration.php
@@ -128,6 +128,7 @@ public function transliterate($string, $langcode = 'en', $unknown_character = '?
     $result = '';
     $length = 0;
     $hash = FALSE;
+    $string = (string) $string;
 
     // Replace question marks with a unique hash if necessary. This because
     // mb_convert_encoding() replaces all invalid characters with a question
