0

我在 Windows 中编程,但在我的 C 控制台中,某些字符(如 é、à、ã)无法识别。我想看看如何让寡妇将这些字符解释为在控制台中使用 unicode 或 utf-8。

我会很高兴有一些启发。非常感谢

4

2 回答 2

1

虽然我完全同意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 下):

Windows 代码页

于 2013-09-06T19:55:53.580 回答
1

控制台是什么意思cmd.exe?它不能很好地处理 Unicode,但您可以通过将显示字体更改为Lucida Console并将代码页从“OEM”更改为“ANSI”来显示“ANSI”字符。通过选择字符,你似乎是西欧人,所以在运行你的应用程序之前尝试给出这个命令:

chcp 1252

如果您想用 UTF-8 输出试试运气,请chcp 65001改用。

于 2013-09-06T13:20:07.460 回答