diff --git a/src/Context/EntityLazyLoadContext.php b/src/Context/EntityLazyLoadContext.php
index c440876..296429a 100644
--- a/src/Context/EntityLazyLoadContext.php
+++ b/src/Context/EntityLazyLoadContext.php
@@ -46,7 +46,7 @@ class EntityLazyLoadContext extends Context {
    */
   public function getContextValue() {
     if (!$this->contextData) {
-      $entity_type_id = substr($this->contextDefinition->getDataType(), 7);
+      $entity_type_id = mb_substr($this->contextDefinition->getDataType(), 7);
       $this->setContextValue($this->entityRepository->loadEntityByUuid($entity_type_id, $this->uuid));
     }
     return parent::getContextValue();
diff --git a/src/ContextMapper.php b/src/ContextMapper.php
index 284dcf0..b61dcfd 100644
--- a/src/ContextMapper.php
+++ b/src/ContextMapper.php
@@ -36,7 +36,7 @@ class ContextMapper implements ContextMapperInterface {
     $contexts = [];
     foreach ($context_configurations as $name => $context_configuration) {
       $context_definition = new ContextDefinition($context_configuration['type'], $context_configuration['label'], TRUE, FALSE, $context_configuration['description']);
-      if (strpos($context_configuration['type'], 'entity:') === 0) {
+      if (mb_strpos($context_configuration['type'], 'entity:') === 0) {
         $context = new EntityLazyLoadContext($context_definition, $this->entityRepository, $context_configuration['value']);
       }
       else {
diff --git a/src/Form/ContextConfigure.php b/src/Form/ContextConfigure.php
index f5f1c57..0e94e44 100644
--- a/src/Form/ContextConfigure.php
+++ b/src/Form/ContextConfigure.php
@@ -112,7 +112,7 @@ abstract class ContextConfigure extends FormBase {
       '#title' => $this->t('Description'),
       '#default_value' => $description,
     ];
-    if (strpos($data_type, 'entity:') === 0) {
+    if (mb_strpos($data_type, 'entity:') === 0) {
       list(, $entity_type) = explode(':', $data_type);
       /** @var EntityAdapter $entity */
       $entity = $edit ? $context->getContextValue() : NULL;
@@ -174,7 +174,7 @@ abstract class ContextConfigure extends FormBase {
       $context_definition->setDescription($form_state->getValue('description'));
     }
     // We're dealing with an entity and should make sure it's loaded.
-    if (strpos($context_definition->getDataType(), 'entity:') === 0) {
+    if (mb_strpos($context_definition->getDataType(), 'entity:') === 0) {
       list(, $entity_type) = explode(':', $context_definition->getDataType());
       if (is_numeric($form_state->getValue('context_value'))) {
         $value = $this->entityTypeManager->getStorage($entity_type)->load($form_state->getValue('context_value'));
diff --git a/src/ParamConverter/TempstoreConverter.php b/src/ParamConverter/TempstoreConverter.php
index 939bd87..47f771b 100644
--- a/src/ParamConverter/TempstoreConverter.php
+++ b/src/ParamConverter/TempstoreConverter.php
@@ -145,9 +145,9 @@ class TempstoreConverter implements ParamConverterInterface {
    *   The value of a variable in defaults.
    */
   protected function convertVariable($name, $defaults) {
-    if (is_string($name) && strpos($name, '{') === 0) {
-      $length = strlen($name);
-      $name = substr($name, 1, $length -2);
+    if (is_string($name) && mb_strpos($name, '{') === 0) {
+      $length = mb_strlen($name);
+      $name = mb_substr($name, 1, $length -2);
       return isset($defaults[$name]) ? $defaults[$name] : NULL;
     }
     return $name;
@@ -157,7 +157,7 @@ class TempstoreConverter implements ParamConverterInterface {
    * {@inheritdoc}
    */
   public function applies($definition, $name, Route $route) {
-    if (!empty($definition['type']) && ($definition['type'] == 'tempstore' || strpos($definition['type'], 'tempstore:') === 0)) {
+    if (!empty($definition['type']) && ($definition['type'] == 'tempstore' || mb_strpos($definition['type'], 'tempstore:') === 0)) {
       if (!empty($definition['tempstore_id']) || $route->hasDefault('tempstore_id')) {
         return TRUE;
       }
