From a0036c4aea71c21a82e2e07008a6906985835e94 Mon Sep 17 00:00:00 2001 From: mark burdett Date: Fri, 26 Jan 2018 12:48:25 -0800 Subject: [PATCH] Use mb_strlen() in ellipsify() to avoid excessive multibyte truncation --- CRM/Utils/String.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CRM/Utils/String.php b/CRM/Utils/String.php index be6ba732a9..9b0fdcbf07 100644 --- a/CRM/Utils/String.php +++ b/CRM/Utils/String.php @@ -657,13 +657,13 @@ class CRM_Utils_String { * @return string */ public static function ellipsify($string, $maxLen) { - $len = strlen($string); + $len = mb_strlen($string, 'UTF-8'); if ($len <= $maxLen) { return $string; } else { $end = $maxLen - 3; - while (strlen($string) > $maxLen - 3) { + while (mb_strlen($string, 'UTF-8') > $maxLen - 3) { $string = mb_substr($string, 0, $end, 'UTF-8'); $end = $end - 1; } -- 2.25.1