如何使Visual Studio使用1252编码制作程序?

时间:2012-12-01 00:48:46

标签: visual-studio-2010 encoding utf-8 character-encoding ascii

我的Visual Studio上有一个解决方案,我的程序语言是Brazillian Portuguese。 每次我编译它并执行它,它根本不显示我写的字符。

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

我假设是C ++。

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

因此,如果您的源代码中包含"é",则会将其视为"\c9\a9",并将其显示在CP-437(Windows命令提示符的默认西方编码)中├⌐

解决方案:或者:

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

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