diff --git a/src/Handler.php b/src/Handler.php
index 6730ea88f00d2e85d7b8fe732d6ccbaab4f44ef4..8590848a51d80542dc288bb3e93072527e848d29 100644
--- a/src/Handler.php
+++ b/src/Handler.php
@@ -426,7 +426,7 @@ class Handler extends BaseHandler {
       if (isset($def['link']) && ($def['link'] !== $settingsPath)) {
         $link = $def['link'] . '/' . $filename;
         if (!$fs->exists($link)) {
-          $rel = substr($fs->makePathRelative($file, $projectRoot . '/' . $link), 3, -1);
+          $rel = substr($fs->makePathRelative($file, $projectRoot . '/' . $def['link']), 3, -1);
           $fs->symlink($rel, $link);
         }
       }
diff --git a/templates/settings.docker.php.twig b/templates/settings.docker.php.twig
index cf3dcadc18f78e8403fcd69a7f6115b68779ea6a..3cb6b49cf1deb0b06e6ba77e92d161856ce6d40d 100644
--- a/templates/settings.docker.php.twig
+++ b/templates/settings.docker.php.twig
@@ -25,6 +25,8 @@ $databases = array(
       'host' => 'mariadb',
       'port' => '3306',
       'prefix' => '',
+      'charset' => 'utf8mb4',
+      'collation' => 'utf8mb4_general_ci',
       'init_commands' => [
         'isolation_level' => 'SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED',
       ],
@@ -53,6 +55,8 @@ $databases = array(
       'password' => 'drupal',
       'database' => 'drupal',
       'prefix' => '',
+      'charset' => 'utf8mb4',
+      'collation' => 'utf8mb4_general_ci',
       'init_commands' => [
         'isolation_level' => 'SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED',
       ],