[Haskell-cafe] Unicode strings

Spencer Janssen sjanssen at cse.unl.edu
Sun Nov 5 13:28:54 EST 2006


The problem is that GHC's output functions only print the lowest 8  
bits of each code point.  To print these higher code points, you'll  
need to translate your [Char] into a byte encoding that your terminal  
will understand (most likely UTF-8).  I know there are several of  
these floating around in the wild, hopefully someone will chime in  
with a code snippet soon.  Also, I seem to remember that Bulat's  
Streams library supports some Unicode encodings, perhaps you can  
check there?


Cheers,
Spencer Janssen

On Nov 5, 2006, at 12:17 PM, Pupeno wrote:

> Hello,
> I am trying to make a program that outputs some Unicode characters  
> but the
> output doesn't match what I try to print.
> Attached is a little test program. It tries to print the arrows  
> "←↑→↓" but
> instead it outputs "\220\221\222\223" (that is, character number  
> 220, then
> 221, then 222). I've also tried writing the Unicode code points  
> (although GHC
> 6.6 should deal just fine with Unicode source code) and I get the same
> result. In case anybody wants to try, this would be the
> string: "\8592\8593\8594\8595".
> I am also attaching the output file, you can see that the contents  
> are not
> right.
> Any ideas what am I doing wrong here ?
> Thank you.
> -- 
> Pupeno <pupeno at pupeno.com> (http://pupeno.com)
> <test.hs>
> <test.output>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe



More information about the Haskell-Cafe mailing list