From 1e236d87f1303085ebdec32cae6d230e20b96874 Mon Sep 17 00:00:00 2001 From: "alexander.makarow" Date: Thu, 31 Mar 2011 21:04:59 +0000 Subject: [PATCH] Better CStringValidator encoding handling if application charset was not set --- framework/validators/CStringValidator.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/framework/validators/CStringValidator.php b/framework/validators/CStringValidator.php index 203fd429e..f628d9661 100644 --- a/framework/validators/CStringValidator.php +++ b/framework/validators/CStringValidator.php @@ -69,9 +69,17 @@ class CStringValidator extends CValidator return; if(function_exists('mb_strlen') && $this->encoding!==false) - $length=mb_strlen($value,$this->encoding ? $this->encoding : Yii::app()->charset); + { + if(!empty($this->encoding)) + mb_strlen($value, $this->encoding); + else if(!empty(Yii::app()->charset)) + $length=mb_strlen($value, Yii::app()->charset); + else + $length=strlen($value); + } else $length=strlen($value); + if($this->min!==null && $length<$this->min) { $message=$this->tooShort!==null?$this->tooShort:Yii::t('yii','{attribute} is too short (minimum is {min} characters).');