2

我的 Visual Studio 有一个解决方案,我的程序语言是巴西葡萄牙语。每次我编译并执行它时,它根本不显示我写的字符。

例子:
int main (void) {
printf("áéíóúàèìòù");
return 0;
}

它只是显示了一些非常奇怪的东西。

虽然,我已经测试了另一次将输出保存到文件中,它显示了正确的输出,所以我认为问题可能出在cmd.

然后,我搜索了可能导致问题的原因,结果基本上挂在使用的代码页 cmd 上。

我终于使用chcp 1252了,但它似乎对我不起作用,所以我在这里。有谁知道我应该使用什么代码页或者我可以对源文件做些什么来显示正确的输出?提前致谢。

4

1 回答 1

0

我假设 C++。

原因是文件以 UTF-8 编码保存,字符串文字被视为字节序列。

因此,如果您"é"的源代码中有,它会被视为"\c9\a9"并以 CP-437(Windows 命令提示符的默认西方编码)显示为├⌐

解决方案:要么:

  • 将源文件保存为某种 8 位编码(例如 CP-1252),更改 VS 中的默认编码,并将终端设置为使用相同的编码,

  • 或者将您的终端更改为支持 UTF-8 的东西,例如 Cygwin。

于 2013-09-17T15:21:39.310 回答