<div class="gmail_quote">2009/8/20 Ketil Malde <span dir="ltr">&lt;<a href="mailto:ketil@malde.org">ketil@malde.org</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br>
Stuart Cook &lt;<a href="mailto:scook0@gmail.com">scook0@gmail.com</a>&gt; writes:<br>
<br>
</div><div class="im">&gt;     GHCi, version 6.8.2: <a href="http://www.haskell.org/ghc/" target="_blank">http://www.haskell.org/ghc/</a>  :? for help<br>
&gt;     Loading package base ... linking ... done.<br>
&gt;     Prelude&gt; map Data.Char.ord &quot;饁&quot;<br>
&gt;     [39233]    &lt;== 0x9941<br>
&gt;     Prelude&gt; putStrLn &quot;饁&quot;<br>
&gt;     A     &lt;== 0x41<br>
<br>
&gt; It seems that GHCi is clever enough to decode UTF-8 input, which only<br>
&gt; serves to confuse System.IO even more.<br>
<br>
</div>I get:<br>
<div class="im"><br>
    GHCi, version 6.8.2: <a href="http://www.haskell.org/ghc/" target="_blank">http://www.haskell.org/ghc/</a>  :? for help<br>
    Loading package base ... linking ... done.<br>
    Prelude&gt; map Data.Char.ord &quot;饁&quot;<br>
    [39233]<br>
<br>
</div>and<br>
<br>
    Prelude&gt; map Data.Char.ord &quot;£&quot;<br>
    [163]<br>
<br>
but also:<br>
<br>
    % ghci -e &#39;map Data.Char.ord &quot;饁&quot;&#39;<br>
    &lt;interactive&gt;:1:21:<br>
        lexical error in string/character literal at character &#39;\129&#39;<br>
<br>
but again:<br>
<br>
    % ghci -e &#39;map Data.Char.ord &quot;£&quot;&#39;<br>
    [194,163]<br>
<br>
So GHCi used interactively translates input from the terminal&#39;s UTF-8,<br>
but outputs truncates output to eight bits.  Executing a string with<br>
-e, it appears to read byte for byte (which I think was the original<br>
behavior at some point).<br>
<br>
-k<br>
<font color="#888888">--</font></blockquote><div><br></div><div>I get the same behaviour here.</div><div><br></div><div>If you want to try Latin 1 (ISO-8859-1) then you can use a utility called Luit (maybe only Linux?)</div>
<div><br></div><div>luit -encoding ISO-8859-1 ghci </div><div><br></div><div>£ becomes Â£, but gives the same byte output as above.</div><div><br></div><div>Iain</div><div><br></div></div>