diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -28,6 +28,8 @@
 Changes
 -------
 
+0.0.12 - Worked in Michael Snoyman's fix for unicode output
+
 0.0.11 - Worked in language-javascript 0.4.*, with source locations in the AST
          Worked in processing of property get/set in object literals
 0.0.10 - Removed attoparsec dependency and historical Parse/Token
diff --git a/Text/Jasmine.hs b/Text/Jasmine.hs
--- a/Text/Jasmine.hs
+++ b/Text/Jasmine.hs
@@ -12,6 +12,9 @@
 import qualified Blaze.ByteString.Builder as BB
 import qualified Data.ByteString.Lazy as LB
 import qualified Data.ByteString.Lazy.Char8 as S8
+import Data.Text.Lazy (unpack)
+import Data.Text.Lazy.Encoding (decodeUtf8With)
+import Data.Text.Encoding.Error (lenientDecode)
 
 minifym :: LB.ByteString -> Either String LB.ByteString
 minifym s = case parse' s of
@@ -40,7 +43,7 @@
 parse' input = parse (lbToStr input) "src"
 
 lbToStr :: S8.ByteString -> [Char]
-lbToStr str = S8.unpack str
+lbToStr = unpack . decodeUtf8With lenientDecode
 
 _strToLb :: String -> S8.ByteString
 _strToLb str = S8.pack str
diff --git a/hjsmin.cabal b/hjsmin.cabal
--- a/hjsmin.cabal
+++ b/hjsmin.cabal
@@ -1,5 +1,5 @@
 name:            hjsmin
-version:         0.0.11
+version:         0.0.12
 license:         BSD3
 license-file:    LICENSE
 author:          Alan Zimmerman <alan.zimm@gmail.com>
diff --git a/runtests.hs b/runtests.hs
--- a/runtests.hs
+++ b/runtests.hs
@@ -31,6 +31,7 @@
     , testCase "mergeStrings"     caseMergeStrings
     , testCase "TrailingCommas"   caseTrailingCommas
     , testCase "GetSet"           caseGetSet
+    , testCase "Unicode"          caseUnicode
     ]
 
 testSuiteMin :: Test
@@ -49,6 +50,7 @@
     , testCase "EitherRight"      caseEitherRight  
     , testCase "TrailingCommas"   caseMinTrailingCommas
     , testCase "GetSet"           caseMinGetSet
+    , testCase "Unicode"          caseMinUnicode
     ]
 
 testSuiteFiles :: Test
@@ -231,6 +233,13 @@
 caseMinGetSet =  
   testMinify "x={get foo(){return 1},set foo(a){x=a}}" srcGetSet
   
+srcUnicode = "var x = \"שלום\";"
+caseUnicode =
+  "Right (JSSourceElementsTop [JSVariables \"var\" [JSVarDecl (JSIdentifier \"x\") [JSStringLiteral '\"' \"\\1513\\1500\\1493\\1501\"]]])"
+  @=? (showStrippedMaybe $ parseProgram srcUnicode)
+caseMinUnicode =  
+  testMinify "var x=\"שלום\"" srcUnicode
+
 -- ---------------------------------------------------------------------
 -- utilities
 
