diff --git a/src/Fenom.php b/src/Fenom.php index cc7f723..fc4cec1 100644 --- a/src/Fenom.php +++ b/src/Fenom.php @@ -58,6 +58,8 @@ class Fenom const ACCESSOR_VAR = 'Fenom\Accessor::parserVar'; const ACCESSOR_CALL = 'Fenom\Accessor::parserCall'; + public static $charset = "UTF-8"; + /** * @var int[] of possible options, as associative array * @see setOptions diff --git a/src/Fenom/Modifier.php b/src/Fenom/Modifier.php index 04cfbbf..9976800 100644 --- a/src/Fenom/Modifier.php +++ b/src/Fenom/Modifier.php @@ -58,13 +58,13 @@ class Modifier * @param string $charset * @return string */ - public static function escape($text, $type = 'html', $charset = 'UTF-8') + public static function escape($text, $type = 'html', $charset = null) { switch (strtolower($type)) { case "url": return urlencode($text); case "html"; - return htmlspecialchars($text, ENT_COMPAT, $charset); + return htmlspecialchars($text, ENT_COMPAT, $charset ? $charset : \Fenom::$charset); case "js": return json_encode($text, 64 | 256); // JSON_UNESCAPED_SLASHES = 64, JSON_UNESCAPED_UNICODE = 256 default: diff --git a/src/Fenom/Template.php b/src/Fenom/Template.php index 9f00ec1..2586c88 100644 --- a/src/Fenom/Template.php +++ b/src/Fenom/Template.php @@ -490,7 +490,7 @@ class Template extends Render $escape = $this->_options & Fenom::AUTO_ESCAPE; } if ($escape) { - return "echo htmlspecialchars($data, ENT_COMPAT, 'UTF-8');"; + return "echo htmlspecialchars($data, ENT_COMPAT, ".var_export(Fenom::$charset, true).");"; } else { return "echo $data;"; }