Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何将Windows控制台输出代码页设置为1252以外的其他值?_C_Visual C++_Encoding - Fatal编程技术网

C 如何将Windows控制台输出代码页设置为1252以外的其他值?

C 如何将Windows控制台输出代码页设置为1252以外的其他值?,c,visual-c++,encoding,C,Visual C++,Encoding,在VisualC中编码时,Windows显示为使用1252代码页输出文本 如何从C代码中将代码页设置为其他内容,例如UTF7?(例如,什么是API函数调用?) 我看了一下,但它没有给我的具体问题一个确切的答案 还显示了如何显示当前代码页,但没有显示如何从C设置代码页 您必须选择8位编码,CP_UTF8是一个好主意。那你必须 同时将字体更改为非终端字体。康索拉斯是个好主意。 -汉斯·帕桑 否,如果您的位置接近1252,则控制台编码将为437,即旧的IBM-PC代码页。您可以使用SetConsole

在VisualC中编码时,Windows显示为使用1252代码页输出文本

如何从C代码中将代码页设置为其他内容,例如UTF7?(例如,什么是API函数调用?)

我看了一下,但它没有给我的具体问题一个确切的答案

还显示了如何显示当前代码页,但没有显示如何从C设置代码页


您必须选择8位编码,CP_UTF8是一个好主意。那你必须 同时将字体更改为非终端字体。康索拉斯是个好主意。 -汉斯·帕桑


否,如果您的位置接近1252,则控制台编码将为437,即旧的IBM-PC代码页。您可以使用SetConsoleCP()@HansPassant对其进行更改,无论我为SetConsoleCP尝试哪个CP(例如CP_UTF7、CP_WINAPI),字符串都将以完全相同的方式打印到控制台。(例如,193、63、140个单字节值在VS2010调试器中显示为代码页1252个字符,但奇怪的是,控制台上实际显示的是那些打印为unicode 9524、66、238的值)。为什么SetConsoleCP不改变字节的显示方式?您必须选择8位编码,CP_UTF8是个好主意。然后还必须将字体更改为非终端字体。Consolas是个好主意。很高兴知道,顺便说一句,SetConsoleCPOutput确实有效。