diff --git a/Changes b/Changes
--- a/Changes
+++ b/Changes
@@ -1,3 +1,8 @@
+[Changes for 0.50 - 2011-03-19]
+
+* parseYaml and emitYaml now work with Unicode Strings.
+  Reported by: voker57
+
 [Changes for 0.45 - 2009-05-15]
 
 * Require Cabal 1.2.3+ to work with GHC 6.10 and above.
diff --git a/Data/Yaml/Syck.hsc b/Data/Yaml/Syck.hsc
--- a/Data/Yaml/Syck.hsc
+++ b/Data/Yaml/Syck.hsc
@@ -24,6 +24,7 @@
 import GHC.Ptr (Ptr(..))
 import qualified Data.HashTable as Hash
 import qualified Data.ByteString.Char8 as Buf
+import Data.ByteString.UTF8 (fromString, toString)
 import Data.ByteString.Char8 (useAsCStringLen, useAsCString)
 import Data.ByteString (packCString, packCStringLen)
 
@@ -146,7 +147,7 @@
 -- | Dump a YAML node into a regular Haskell string
 
 emitYaml :: YamlNode -> IO String
-emitYaml node = fmap unpackBuf (emitYamlBytes node)
+emitYaml node = fmap toString (emitYamlBytes node)
 
 markYamlNode :: (YamlNode -> IO SyckNodePtr) -> SyckEmitter -> YamlNode -> IO ()
 {-
@@ -217,7 +218,7 @@
 -- | Parse a regular Haskell string
 
 parseYaml :: String -> IO YamlNode
-parseYaml = (`withCString` parseYamlCStr)
+parseYaml = parseYamlBytes . fromString
 
 -- | Given a file name, parse contents of file
 
@@ -280,7 +281,6 @@
             Hash.update badancs (ptr `minusPtr` nullPtr) node
 
     symId   <- fmap fromIntegral (syck_add_sym parser nodePtr)
-
     return symId
 
 badAnchorHandlerCallback :: BadAnchorTable -> SyckBadAnchorHandler
diff --git a/HsSyck.cabal b/HsSyck.cabal
--- a/HsSyck.cabal
+++ b/HsSyck.cabal
@@ -1,5 +1,5 @@
 Name:                HsSyck
-Version:             0.45
+Version:             0.50
 Cabal-version:       >= 1.2.3
 Category:            Text, Pugs
 Synopsis:            Fast, lightweight YAML loader and dumper
@@ -29,16 +29,16 @@
 
 Library
     if flag(SybInBase)
-        Build-Depends: base>=3 && <4, bytestring>=0.9.0.1
+        Build-Depends: base>=3 && <4, bytestring>=0.9.0.1, utf8-string>=0.3
     else
-        Build-Depends: base>=4, bytestring>=0.9.0.1, syb
+        Build-Depends: base>=4 && <6, bytestring>=0.9.0.1, syb, utf8-string>=0.3
 
     exposed-modules: Data.Yaml.Syck
 
-    extensions: ForeignFunctionInterface, MagicHash, RecursiveDo,
-                DeriveDataTypeable, TypeSynonymInstances, PatternGuards
-
     ghc-options: -funbox-strict-fields
+
+    extensions: ForeignFunctionInterface, MagicHash,
+                DeriveDataTypeable, TypeSynonymInstances, PatternGuards, RecursiveDo
 
     c-sources: syck/bytecode.c syck/emitter.c syck/gram.c syck/handler.c
                syck/implicit.c syck/node.c syck/syck.c syck/syck_st.c
