Description: Handle multi bytes substrings
 substr truncates on a byte-level, sometimes within a multi-byte character.
 This resulted in the whole string sometime not being displayed.
Author: Jean-Michel Vourgère <nirgal@debian.org>
Bug: https://sourceforge.net/p/phppgadmin/bugs/422/
Bug-Debian: https://bugs.debian.org/682954
Forwarded: https://github.com/phppgadmin/phppgadmin/pull/69
Applied-Upstream: commit:19c19b79241216e49fdc106e8c3e3f55195f978c
Last-Update: 2019-10-13

Index: phppgadmin/classes/Misc.php
===================================================================
--- phppgadmin.orig/classes/Misc.php
+++ phppgadmin/classes/Misc.php
@@ -261,8 +261,8 @@
 			if (isset($params['clip']) && $params['clip'] === true) {
 				$maxlen = isset($params['cliplen']) && is_integer($params['cliplen']) ? $params['cliplen'] : $conf['max_chars'];
 				$ellipsis = isset($params['ellipsis']) ? $params['ellipsis'] : $lang['strellipsis'];
-				if (strlen($str) > $maxlen) {
-					$str = substr($str, 0, $maxlen-1) . $ellipsis;
+				if (mb_strlen($str, 'UTF-8') > $maxlen) {
+					$str = mb_substr($str, 0, $maxlen-1, 'UTF-8') . $ellipsis;
 				}
 			}
 
