SetConsoleOutputCP Function

Sets the output code page used by the console associated with the calling process. A console uses its output code page to translate the character values written by the various output functions into the images displayed in the console window.

Syntax

C++
BOOL WINAPI SetConsoleOutputCP(
  __in  UINT wCodePageID
);

Parameters

wCodePageID [in]

The identifier of the code page to set. The identifiers of the code pages available on the local computer are stored in the registry under the following key.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
    Control\Nls\CodePage

For a list of identifiers, see Code Page Identifiers.

Return Value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

A code page maps 256 character codes to individual characters. Different code pages include different special characters, typically customized for a language or a group of languages. To retrieve more information about a code page, including it's name, see the GetCPInfoEx function.

If the current font is a fixed-pitch Unicode font, SetConsoleOutputCP changes the mapping of the character values into the glyph set of the font, rather than loading a separate font each time it is called. This affects how extended characters (ASCII value greater than 127) are displayed in a console window. However, if the current font is a raster font, SetConsoleOutputCP does not affect how extended characters are displayed.

To determine a console's current output code page, use the GetConsoleOutputCP function. To set and retrieve a console's input code page, use the SetConsoleCP and GetConsoleCP functions.

Requirements

Minimum supported clientWindows 2000 Professional
Minimum supported serverWindows 2000 Server
HeaderWincon.h (include Windows.h)
LibraryKernel32.lib
DLLKernel32.dll

See Also

Console Code Pages
Console Functions
GetConsoleCP
GetConsoleOutputCP
SetConsoleCP

Send comments about this topic to Microsoft

Build date: 10/8/2009

Tags :


Community Content

Shawn Steele [MSFT]
Ick, don't look in the registry!
You can call IsValidCodePage to determine if a code page is valid, and EnumSystemCodePages to get a list. Always us the system APIs instead of the registry so that your application remains consistent if something subtle changes in the registry.
Tags :

Page view tracker