C# 控制台汉字变问号,求解!

独酌逸醉 2011-03-12 11:01:46
如下程序:

using System;
using System.Collections.Generic;
using System.Text;

namespace test
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("你好,世界!");
}
}
}


输出为??,??!
折腾了很长时间,没有解决。如果有人会的话,告诉我一下。谢谢!
...全文
1195 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
独酌逸醉 2011-07-12
  • 打赏
  • 举报
回复 1
[Quote=引用 17 楼 aofong19871029 的回复:]

引用 13 楼 cuidx 的回复:

那试一下下面的代码:

Console.OutputEncoding = Encoding.GetEncoding(936);
Console.WriteLine(Console.OutputEncoding.ToString());
Console.WriteLine(Console.OutputEncoding.CodePage);
Co……
[/Quote]
搜一下“代码页”。“cmd”->右键标题栏->“属性”->“选项”。最下面“当前代码页”,如果是936就没有问题了。
独酌逸醉 2011-07-12
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 aofong19871029 的回复:]

引用 13 楼 cuidx 的回复:

那试一下下面的代码:

Console.OutputEncoding = Encoding.GetEncoding(936);
Console.WriteLine(Console.OutputEncoding.ToString());
Console.WriteLine(Console.OutputEncoding.CodePage);
Co……
[/Quote]
忘了,上面的代码能解决一时的问题。但是没有解决根本问题。好像是在用cmd该了一下编码。你去搜搜吧。
aofong19871029 2011-07-12
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 cuidx 的回复:]

那试一下下面的代码:

Console.OutputEncoding = Encoding.GetEncoding(936);
Console.WriteLine(Console.OutputEncoding.ToString());
Console.WriteLine(Console.OutputEncoding.CodePage);
Console.WriteLine("你好,世界……
[/Quote]

Console.OutputEncoding = Encoding.GetEncoding(936);

这行出现参数错误的异常,请问如何解决
chaorenfeiba 2011-05-17
  • 打赏
  • 举报
回复
看到后请快点告诉我
chaorenfeiba 2011-05-17
  • 打赏
  • 举报
回复
你怎么好的啊。我也有这个问题,急
独酌逸醉 2011-03-14
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 cuidx 的回复:]
那试一下下面的代码:

Console.OutputEncoding = Encoding.GetEncoding(936);
Console.WriteLine(Console.OutputEncoding.ToString());
Console.WriteLine(Console.OutputEncoding.CodePage);
Console.WriteLine("你好,世界!……
[/Quote]
好了,thank you very much!
cuidx 2011-03-13
  • 打赏
  • 举报
回复
楼主加一下下面的代码看看输出啥?

Console.WriteLine(Console.OutputEncoding.ToString());
Console.WriteLine(Console.OutputEncoding.CodePage);
Console.WriteLine("你好,世界!");

我这输出的是

System.Text.DBCSCodePageEncoding
936
你好,世界!
pengzhixi 2011-03-13
  • 打赏
  • 举报
回复
额,你们C#里面有没有设置本地环境的函数。类似C++里面的string setlocale(string category, string locale);
subxli 2011-03-13
  • 打赏
  • 举报
回复
打开控制面板,在“地区和语言选项”里将非UNICODE 程序的语言改为中文。
右击控制台标题栏 选默认值 修改代码页 试试看
subxli 2011-03-13
  • 打赏
  • 举报
回复
编码问题吧。。
独酌逸醉 2011-03-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 winner2050 的回复:]
设置字体看看。
[/Quote]
没用啊!
cuidx 2011-03-13
  • 打赏
  • 举报
回复
那试一下下面的代码:

Console.OutputEncoding = Encoding.GetEncoding(936);
Console.WriteLine(Console.OutputEncoding.ToString());
Console.WriteLine(Console.OutputEncoding.CodePage);
Console.WriteLine("你好,世界!");
独酌逸醉 2011-03-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 cuidx 的回复:]
楼主加一下下面的代码看看输出啥?

Console.WriteLine(Console.OutputEncoding.ToString());
Console.WriteLine(Console.OutputEncoding.CodePage);
Console.WriteLine("你好,世界!");

我这输出的是

System.Text.DBCSCodePageEncodi……
[/Quote]
和你的不一样。
System.Text.SBCSCodePageEncoding
437
??,??!
?????0
Press any key to continue . . .
独酌逸醉 2011-03-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 subxli 的回复:]
打开控制面板,在“地区和语言选项”里将非UNICODE 程序的语言改为中文。
右击控制台标题栏 选默认值 修改代码页 试试看
[/Quote]
不行啊!
独酌逸醉 2011-03-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fangxinggood 的回复:]
你的操作系统是什么语言环境的?
[/Quote]

简体中文,以前用的都没问题。
独酌逸醉 2011-03-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fangxinggood 的回复:]
你的操作系统是什么语言环境的?
[/Quote]
windows xp
机器人 2011-03-12
  • 打赏
  • 举报
回复
你的操作系统是什么语言环境的?
winner2050 2011-03-12
  • 打赏
  • 举报
回复
设置字体看看。
独酌逸醉 2011-03-12
  • 打赏
  • 举报
回复
没人知道吗?

7,774

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧