Added support for mb_strlen, as per bug report #4778
diff --git a/system/libraries/Validation.php b/system/libraries/Validation.php
index 20bb6bd..a463202 100644
--- a/system/libraries/Validation.php
+++ b/system/libraries/Validation.php
@@ -46,6 +46,12 @@
 	function CI_Validation()

 	{	

 		$this->CI =& get_instance();

+		

+		if (function_exists('mb_internal_encoding'))

+		{

+			mb_internal_encoding($this->CI->config->item('charset'));

+		}

+		

 		log_message('debug', "Validation Class Initialized");

 	}

 	

@@ -431,7 +437,12 @@
 		{

 			return FALSE;

 		}

-	

+

+		if (function_exists('mb_strlen'))

+		{

+			return (mb_strlen($str) < $val) ? FALSE : TRUE;		

+		}

+

 		return (strlen($str) < $val) ? FALSE : TRUE;

 	}

 	

@@ -451,7 +462,12 @@
 		{

 			return FALSE;

 		}

-	

+		

+		if (function_exists('mb_strlen'))

+		{

+			return (mb_strlen($str) > $val) ? FALSE : TRUE;		

+		}

+

 		return (strlen($str) > $val) ? FALSE : TRUE;

 	}

 	

@@ -472,6 +488,11 @@
 			return FALSE;

 		}

 	

+		if (function_exists('mb_strlen'))

+		{

+			return (mb_strlen($str) != $val) ? FALSE : TRUE;		

+		}

+

 		return (strlen($str) != $val) ? FALSE : TRUE;

 	}