我写了一个程序,使用printfs()的“é”或“à”编译与MinGW 4.9.1,我使用setlocale(LC_CTYPE, "fra");来显示这些字符,它工作得很好然而,当我用MinGW 11.2编译同一个程序时,重音符号是这样显示的:我尝试了setlocale(LC_ALL, "");,它也不工作有人有解决办法吗?
setlocale(LC_CTYPE, "fra");
setlocale(LC_ALL, "");
zzzyeukh1#
在Windows上,您必须显式设置utf-8,而不是像Linux这样的其他平台:
std::setlocale(LC_ALL, ".utf8")
除非程序或用户选择它,否则Windows将在其区域设置配置中采用代码页。这样做会激活windows在控制台中对utf-8的支持。
1条答案
按热度按时间zzzyeukh1#
在Windows上,您必须显式设置utf-8,而不是像Linux这样的其他平台:
除非程序或用户选择它,否则Windows将在其区域设置配置中采用代码页。这样做会激活windows在控制台中对utf-8的支持。