【问题标题】:How to print unicode symbol to console如何将 unicode 符号打印到控制台
【发布时间】:2014-02-26 18:58:49
【问题描述】:

我想打印▌符号到控制台。 我试过了

printf(L"▌");

wchar_t t = L'\u2588';
wprintf(L"%c\n", t);

但我只得到“?”结果。 我使用 Visual Studio 2012

更新

如果我将语言环境设置为 en-US

setlocale(LC_ALL, "en-US");

我得到| 对应+ 对应_ 对应

【问题讨论】:

  • 最后一次更新表明您的控制台非常了解您正在尝试的内容,并选择了与它无法显示的字符非常接近的近似值。这是什么操作系统? (猜测 Windows。)是否可以将控制台设置为使用 UTF-8? “代码页”是so pre 2003

标签: c console codepages


【解决方案1】:

要在控制台中启用 unicode,我们应该使用 _setmode(_fileno(stdout), _O_U16TEXT);

#include <stdio.h>
#include <io.h>
#include <fcntl.h>
void main()
{
    _setmode(_fileno(stdout), _O_U16TEXT);
    wprintf(L"█");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    • 2017-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多