diff --git a/lib/py/Makefile.am b/lib/py/Makefile.am
index b88b6be..c0db871 100755
--- a/lib/py/Makefile.am
+++ b/lib/py/Makefile.am
@@ -22,13 +22,14 @@
 if WITH_PY3
 py3-build:
 	$(PYTHON3) setup.py build
+py3-test: py3-build
+	PYTHONPATH=build/lib $(PYTHON3) test/thrift_json.py
 else
 py3-build:
+py3-test:
 endif
 
-testing:
-
-all-local: py3-build testing
+all-local: py3-build
 	$(PYTHON) setup.py build
 
 # We're ignoring prefix here because site-packages seems to be
@@ -41,7 +42,8 @@
 clean-local:
 	$(RM) -r build
 
-check-local: all
+check-local: all py3-test
+	PYTHONPATH=$(shell ls build/lib* -dr | head -n1) $(PYTHON) test/thrift_json.py
 
 EXTRA_DIST = \
 	CMakeLists.txt \
diff --git a/lib/py/src/protocol/TJSONProtocol.py b/lib/py/src/protocol/TJSONProtocol.py
index d210bff..aada3fc 100644
--- a/lib/py/src/protocol/TJSONProtocol.py
+++ b/lib/py/src/protocol/TJSONProtocol.py
@@ -251,18 +251,14 @@
 
   def _toChar(self, high, low=None):
     if not low:
-      if sys.version_info[0] == 2:
-        return ("\\u%04x" % high).decode('unicode-escape').encode('utf-8')
-      else:
-        return chr(high)
+      codepoint = high
     else:
       codepoint = (1 << 16) + ((high & 0x3ff) << 10)
       codepoint += low & 0x3ff
-      if sys.version_info[0] == 2:
-        s = "\\U%08x" % codepoint
-        return s.decode('unicode-escape').encode('utf-8')
-      else:
-        return chr(codepoint)
+    if sys.version_info[0] == 2:
+      return unichr(codepoint).encode('utf-8')
+    else:
+      return chr(codepoint)
 
   def readJSONString(self, skipContext):
     highSurrogate = None
