Bill Baxter пишет:
On Sat, Oct 25, 2008 at 10:37 AM, Benji Smith <[EMAIL PROTECTED]> wrote:
Bill Baxter wrote:
On Sat, Oct 25, 2008 at 10:23 AM, Benji Smith <[EMAIL PROTECTED]>
wrote:
Bill Baxter wrote:
Anyone using a shell for Windows that works and supports UTF-8
properly?
A regular Windows console supports UTF-8 to some extent:

* Change console font to Lucida Console
* issue "chcp 65001"

You can even get more fonts into there with a bit of hackery.
I did that but "type <filewith-utf8.txt>"  still prints garbage.
That's weird. My machine (WinXp Sp3) has no problem printing UTF-8 to the
console. The only special thing I did was changed the font to Lucide
Console.
Ok.  Thanks for the info.  Knowing that it has actually worked for at
least one person gives me motivation to try again.

--bb
Write a tiny little D program and see what you get on the console:

  import tango.io.Stdout;
  void main() {
     Stdout("spade, club, heart, diamond: \u2660\u2663\u2665\u2666");
  }

I don't know anything about the "type" command, and whether it supports
UTF-8. But the console itself ought to be able to handle it. Try compiling
the above code and see what happens.

--benji

Ah, I see.  I guess more what I want to know is if I had utf-8 source
code and the D compiler spit out a message about one of the lines,
would that error message come out as garbage?  Same for ddbg -- if I'm
debugging and say "ps" for "print source" will the result be garbage.
  I was thinking that "type" would be a simple test if that sort of
thing would work.

But maybe type is just borked.  I did try "cat" and "more" too I
think, with same result, though.

They all work for me: type, cat, less. The file is UTF-8 with BOM. Error messages are printed correctly displaying all the characters in a buggy symbol.

But now I remember. It fails to execute any batch files when it's in 65001 codepage. More precisely, it executes exactly one line from a batch file like if there were no more lines. So this pseudo-uniclde mode is useless.

Reply via email to