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("你好,世界!");
}
}
}


输出为??,??!
折腾了很长时间,没有解决。如果有人会的话,告诉我一下。谢谢!
...全文
450 点赞 收藏 19
写回复
19 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
独酌逸醉 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”->右键标题栏->“属性”->“选项”。最下面“当前代码页”,如果是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
没人知道吗?
回复
相关推荐
发帖
非技术区
创建于2007-09-28

7701

社区成员

.NET技术 非技术区
申请成为版主
帖子事件
创建了帖子
2011-03-12 11:01
社区公告
暂无公告