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 <[EMAIL PROTECTED]> (http://pupeno.com)
<test.hs>
<test.output>
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to