From f1568b96ce42410f5631ef765ce035ead5d4ce68 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Wed, 21 Feb 2018 10:32:46 +0100 Subject: Use mb_* string methods to extract first character for generated avatars This fixes #8451 where the first character is a non-ASCII character. The `$string[0]` notation only extracted one byte and thus resulting in an invalid code. The `mb_strtoupper` method also allows to convert characters independently from the current locale on the server. See also http://php.net/manual/en/function.mb-strtoupper.php Signed-off-by: Morris Jobke --- lib/private/Avatar.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/private/Avatar.php b/lib/private/Avatar.php index 45ad66d0817..863d27a8747 100644 --- a/lib/private/Avatar.php +++ b/lib/private/Avatar.php @@ -246,7 +246,7 @@ class Avatar implements IAvatar { * @return string */ private function generateAvatar($userDisplayName, $size) { - $text = strtoupper(substr($userDisplayName, 0, 1)); + $text = mb_strtoupper(mb_substr($userDisplayName, 0, 1), 'UTF-8'); $backgroundColor = $this->avatarBackgroundColor($userDisplayName); $im = imagecreatetruecolor($size, $size); -- cgit v1.2.3