diff --git a/theme/views_views_json_style.theme.inc b/theme/views_views_json_style.theme.inc
index e39e67b..88d32bb 100644
--- a/theme/views_views_json_style.theme.inc
+++ b/theme/views_views_json_style.theme.inc
@@ -30,8 +30,9 @@ function template_preprocess_views_views_json_style_simple($vars) {
   	  	if ($field->label)
   	  	  $label = $plaintext_output ? strip_tags($field->label) : $field->label;
   	  	else $label = $plaintext_output ? strip_tags($field->id) : $field->id;  
-        if (!$field->is_multiple) {   	  	
-  	  	  $content = $plaintext_output ? strip_tags($field->content) : $field->content;
+        if (!$field->is_multiple) {
+          $content = $plaintext_output ? strip_tags(html_entity_decode($field->content, ENT_QUOTES)) : $field->content;
+          $content = mb_check_encoding($content, 'UTF-8') ? $content : utf8_encode($content);
         }
         else {
         	$content = array();
@@ -40,8 +41,9 @@ function template_preprocess_views_views_json_style_simple($vars) {
   	  }
   	  elseif ($options["field_output"] == "raw") {
   	  	$label = $plaintext_output ? strip_tags($field->id) : $field->id;
-  	    if (!$field->is_multiple) {   	  	
-  	  	  $content = $plaintext_output ? strip_tags($field->raw) : $field->raw;
+        if (!$field->is_multiple) {
+          $content = $plaintext_output ? strip_tags(html_entity_decode($field->content, ENT_QUOTES)) : $field->content;
+          $content = mb_check_encoding($content, 'UTF-8') ? $content : utf8_encode($content);
         }
         else {
         	$content = array();
@@ -73,8 +75,9 @@ function template_preprocess_views_views_json_style_exhibit($vars) {
   	  	if ($field->label)
   	  	  $label = $plaintext_output ? strip_tags($field->label) : $field->label;
   	  	else $label = $plaintext_output ? strip_tags($field->id) : $field->id;  
-        if (!$field->is_multiple) {   	  	
-  	  	  $content = $plaintext_output ? strip_tags($field->content) : $field->content;
+        if (!$field->is_multiple) {
+          $content = $plaintext_output ? strip_tags(html_entity_decode($field->content, ENT_QUOTES)) : $field->content;
+          $content = mb_check_encoding($content, 'UTF-8') ? $content : utf8_encode($content);
         }
         else {
         	$content = array();
@@ -83,8 +86,9 @@ function template_preprocess_views_views_json_style_exhibit($vars) {
   	  }
   	  elseif ($options["field_output"] == "raw") {
   	  	$label = $plaintext_output ? strip_tags($field->id) : $field->id;
-  	    if (!$field->is_multiple) {   	  	
-  	  	  $content = $plaintext_output ? strip_tags($field->raw) : $field->raw;
+        if (!$field->is_multiple) {
+          $content = $plaintext_output ? strip_tags(html_entity_decode($field->content, ENT_QUOTES)) : $field->content;
+          $content = mb_check_encoding($content, 'UTF-8') ? $content : utf8_encode($content);
         }
         else {
         	$content = array();
