protected function cropMbstring($charset, $string, $len, $crop = '') {
		if (intval($len) === 0 || mb_strlen($string, $charset) <= abs($len)) {
			return $string;
		}

		if ($len > 0) {
			$string = mb_substr($string, 0, $len, $charset) . $crop;
		} else {
			$string = $crop . mb_substr($string, $len, mb_strlen($string, $charset), $charset);
		}

		return $string;
	}