diff --git a/StandalonePHPEnkoder.php b/StandalonePHPEnkoder.php index f4646cb..7535581 100644 --- a/StandalonePHPEnkoder.php +++ b/StandalonePHPEnkoder.php @@ -201,9 +201,10 @@ public function enkode($content, $text = NULL) { // Our base case -- we'll eventually evaluate this code. // Note that we're using innerHTML() since document.write() fails on // pages loaded using AJAX. - $kode = "document.getElementById('ENKODER_ID').outerHTML=\"" . + // Use escape() + decodeURIComponent() to preserve multibyte unicode + $kode = "document.getElementById('ENKODER_ID').outerHTML=decodeURIComponent(escape(\"" . addcslashes($content,"\\\'\"&\n\r<>") . - "\";"; + "\"));"; $max_length = max($max_length, strlen($kode) + $this->min_length + 1); @@ -263,12 +264,10 @@ private function enkBuildJS($kode, $text = NULL) { // perform the final eval(). $js = <<$msg EOT;