[Issue 2742] std.stdio assumes console works in utf-8

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed May 25 05:03:29 PDT 2011


http://d.puremagic.com/issues/show_bug.cgi?id=2742



--- Comment #10 from Stewart Gordon <smjg at iname.com> 2011-05-25 04:59:10 PDT ---
(In reply to comment #9)
> According to this page http://codesnippets.joyent.com/posts/show/414
> you can get and set the codepage via the
> [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage] key's OEMCP
> value.
> 
> Setting the codepage requires a restart though.

Not if you do it using chcp on the command line, or (presumably) SetConsoleCP
in the Windows API.

> Also, changing the codepage has other effects, e.g. using ALT+Numpad 
> keys is handled differently (with codepage 1252 you don't have to 
> prepend a zero when using ALT+Numkey apparently).
<snip>

I don't have to prepend a zero anyway.  It just produces a different character
if I do.  Traditionally at least, with a 0 it types a character from the ANSI
set, and without a 0 it types a character from the OEM set.

But as I test it (Win7), it depends on what font the command prompt is set to.
----- Lucida Console or Consolas -----
C:\Users\StewartGordon>chcp 850
Active code page: 850

C:\Users\StewartGordon>£úœ£
'£úœ£' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\StewartGordon>chcp 1252
Active code page: 1252

C:\Users\StewartGordon>£úœ£
----- Raster Fonts -----
C:\Users\StewartGordon>chcp 850
Active code page: 850

C:\Users\StewartGordon>£úo£
'£úo£' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\StewartGordon>chcp 1252
Active code page: 1252

C:\Users\StewartGordon>ú·£ú
----------

The sequence of strange characters is Alt+0163, Alt+163, Alt+0156, Alt+156 in
each case.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list