diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/mail/MailRequest.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/mail/MailRequest.java
index 62a60c7..0725d82 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/mail/MailRequest.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/mail/MailRequest.java
@@ -14,6 +14,7 @@
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 import java.text.MessageFormat;
 import java.util.Properties;
@@ -148,7 +149,8 @@
 			String strAcFrom = DateHelper.convertToLocalString(actionDto.getValidFrom(), null);
 			String strAcTo = DateHelper.convertToLocalString(actionDto.getValidTo(), null);
 
-			String body = generateHTML(template, standbyGroup.getTitle(), strAcFrom, strAcTo, userName, link);
+			String body = generateHTML(template, standbyGroup.getTitle(), strAcFrom, strAcTo,
+					new String(userName.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8), link);
 
 			email = calcMail(subject, oldUser.getBusinessContactData().getEmail(), property, body);
 
@@ -187,7 +189,9 @@
 			String strAcFrom = DateHelper.convertToLocalString(actionDto.getValidFrom(), null);
 			String strAcTo = DateHelper.convertToLocalString(actionDto.getValidTo(), null);
 
-			String body = generateHTML(template, standbyGroup.getTitle(), userName, strAcFrom, strAcTo, link);
+			String body = generateHTML(template, standbyGroup.getTitle(),
+					new String(userName.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8), strAcFrom, strAcTo,
+					link);
 
 			email = calcMail(subject, newUser.getBusinessContactData().getEmail(), property, body);
 
@@ -238,6 +242,5 @@
 		return mailGenerator.generateMail(null, mailAddress, sendersName, sendersMail, subject, body, properties);
 
 	}
-	
-	
+
 }
