diff --git a/lib/php/lib/Thrift/Protocol/TJSONProtocol.php b/lib/php/lib/Thrift/Protocol/TJSONProtocol.php
index 6c93b09..dfa07d8 100644
--- a/lib/php/lib/Thrift/Protocol/TJSONProtocol.php
+++ b/lib/php/lib/Thrift/Protocol/TJSONProtocol.php
@@ -215,6 +215,15 @@
         return dechex($val);
     }
 
+    private function json_encode_utf8($str) {
+      $str =  preg_replace_callback("/\\\\u([a-f0-9]{4})/",
+        function ($matches) {
+          return iconv('UCS-4LE','UTF-8', pack('V', hexdec('U' . $matches[1])));
+        },
+        json_encode($str));
+      return preg_replace("|\\\\/|", "/", $str);
+    }
+
     private function writeJSONString($b)
     {
         $this->context_->write();
@@ -223,7 +232,7 @@
             $this->trans_->write(self::QUOTE);
         }
 
-        $this->trans_->write(json_encode($b));
+        $this->trans_->write($this->json_encode_utf8($b));
 
         if (is_numeric($b) && $this->context_->escapeNum()) {
             $this->trans_->write(self::QUOTE);
