我在 Windows 中编程,但在我的 C 控制台中,某些字符(如 é、à、ã)无法识别。我想看看如何让寡妇将这些字符解释为在控制台中使用 unicode 或 utf-8。
我会很高兴有一些启发。非常感谢
虽然我完全同意Joni的回答,但我认为可以添加一个细节:
由于Telmo Vaz询问如何为C程序解决这个问题,我们可以考虑在代码中添加系统命令的替代方案:
#include <stdlib.h> // To use the function system();
#include <stdio.h>
int main(void) {
system("CHCP 1252");
printf("Now accents are right: áéíüñÇ \n");
return 0;
}
编辑用代码页做一些实验是个好主意。检查下表以获取信息(在 Windows 下):
控制台是什么意思cmd.exe
?它不能很好地处理 Unicode,但您可以通过将显示字体更改为Lucida Console并将代码页从“OEM”更改为“ANSI”来显示“ANSI”字符。通过选择字符,你似乎是西欧人,所以在运行你的应用程序之前尝试给出这个命令:
chcp 1252
如果您想用 UTF-8 输出试试运气,请chcp 65001
改用。