On Tue, 2009/01/06 12:46:42 +0800, Chengqi(Lars) Song wrote: > myPP h = defaultPP > { > ppOutput = System.IO.UTF8.hPutStrLn h > } You might be getting doubly-encoded strings. Try ppOutput = System.IO.hPutStrLn h.