summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--framework/Web/Javascripts/TJSON.php6
-rw-r--r--framework/Web/UI/TPage.php8
2 files changed, 12 insertions, 2 deletions
diff --git a/framework/Web/Javascripts/TJSON.php b/framework/Web/Javascripts/TJSON.php
index b30a65d8..a52a0634 100644
--- a/framework/Web/Javascripts/TJSON.php
+++ b/framework/Web/Javascripts/TJSON.php
@@ -146,6 +146,10 @@ class TJSON
return (float) $var;
case 'string':
+ if (($g=Prado::getApplication()->getGlobalization(false))!==null &&
+ strtoupper($enc=$g->getCharset())!='UTF-8')
+ $var=iconv($enc, 'UTF-8', $var);
+
// STRINGS ARE EXPECTED TO BE IN ASCII OR UTF-8 FORMAT
$ascii = '';
$strlen_var = strlen($var);
@@ -755,4 +759,4 @@ class TJSON
}
-?> \ No newline at end of file
+?>
diff --git a/framework/Web/UI/TPage.php b/framework/Web/UI/TPage.php
index 529a6b60..2f7e1b4f 100644
--- a/framework/Web/UI/TPage.php
+++ b/framework/Web/UI/TPage.php
@@ -282,6 +282,12 @@ class TPage extends TTemplateControl
$this->setAdapter(new TActivePageAdapter($this));
+ // Decode Callback postData from UTF-8 to current Charset
+ 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);
+
Prado::trace("Page onPreInit()",'System.Web.UI.TPage');
$this->onPreInit(null);
@@ -1264,4 +1270,4 @@ class TPageStateFormatter
}
}
-?> \ No newline at end of file
+?>