From 2c497f6b0136bf77cdf0c3fd700d8213735df5b5 Mon Sep 17 00:00:00 2001 From: "ctrlaltca@gmail.com" <> Date: Thu, 16 Feb 2012 08:46:35 +0000 Subject: fixed TActiveList* controls when globalization's charset is not utf8 --- framework/Web/UI/TPage.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'framework/Web/UI/TPage.php') diff --git a/framework/Web/UI/TPage.php b/framework/Web/UI/TPage.php index 8cd0d407..9d9ac37e 100644 --- a/framework/Web/UI/TPage.php +++ b/framework/Web/UI/TPage.php @@ -284,6 +284,20 @@ class TPage extends TTemplateControl $this->unloadRecursive(); } + protected static function decodeUTF8($data, $enc) + { + if(is_array($data)) + { + foreach($data as $k=>$v) + $data[$k]=self::decodeUTF8($v, $enc); + return $data; + } elseif(is_string($data)) { + return iconv('UTF-8',$enc.'//IGNORE',$data); + } else { + return $data; + } + } + /** * Sets Adapter to TActivePageAdapter and calls apter to process the * callback request. @@ -298,7 +312,7 @@ class TPage extends TTemplateControl if (($g=$this->getApplication()->getGlobalization(false))!==null && strtoupper($enc=$g->getCharset())!='UTF-8') foreach ($this->_postData as $k=>$v) - $this->_postData[$k]=iconv('UTF-8',$enc.'//IGNORE',$v); + $this->_postData[$k]=self::decodeUTF8($v, $enc); Prado::trace("Page onPreInit()",'System.Web.UI.TPage'); $this->onPreInit(null); -- cgit v1.2.3