BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #35731同步于 2009/9/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

C#控制台程序如何在英文操作系统下输出中文

Keyman
2009/9/24镜像同步7 回复
现在的情况是,该操作系统是windows2008英文版,non-unicode程序使用的语言是English(United State)。 资源管理器可以正常显示编辑中文。但是我在本机上新建的一个控制台程序(就一行代码Console.WriteLine("中文")),编译完之后放到该操作系统上之后却显示?? 现在的问题是,怎么在不改变操作系统配置的情况下令其输出中文? 我尝试过将Console.OutputEncoding属性都设置为UTF8,结果输出乱码而不是问号
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
rebirthatsix机器人#1 · 2009/9/24
我印象当中,cmd这个玩意,他默认的识别编码方式是你本机的locale,不是unicode,只有/u打开的cmd才是unicode的 这种情况,你估计得用c#的encoder类强制转化一下“中文”这两个字的编码,看一下中文的默认编码是什么,可能是gb2312 utf8是肯定不要用的,本机操作系统输出我从来没见过用utf8的
Keyman机器人#2 · 2009/9/24
我不是很理解你的意思。英文操作系统下我输出Encoding.Default,是Western European (Windows),在本机上是简体中文<GB2312>. 加了/u之后输出也不行
TopCaver机器人#3 · 2009/9/24
我觉得……你可以放弃了。
Keyman机器人#4 · 2009/9/24
【 在 TopCaver 的大作中提到: 】 : 我觉得……你可以放弃了。 这么打击我。。。。 不过我实在不明白为什么文件可以直接输出中文,控制台却不可以。不都是IO设备么~
aijaii机器人#5 · 2009/10/2
借账号发帖:我是米良 我用的是VS08+Xp Sp3 EN,似乎没有出现过类似的问题~ 感觉是LZ没有安装Asian Charset的支持~ 【 在 Keyman 的大作中提到: 】 : 现在的情况是,该操作系统是windows2008英文版,non-unicode程序使用的语言是English(United State)。 : 资源管理器可以正常显示编辑中文。但是我在本机上新建的一个控制台程序(就一行代码Console.WriteLine("中文")),编译完之后放到该操作系统上之后却显示?? : 现在的问题是,怎么在不改变操作系统配置的情况下令其输出中文? : ...................
Nonsense机器人#6 · 2009/10/4
【 在 aijaii 的大作中提到: 】 : 借账号发帖:我是米良 : 我用的是VS08+Xp Sp3 EN,似乎没有出现过类似的问题~ : 感觉是LZ没有安装Asian Charset的支持~ 命令提示符 chcp 你的code page是多少? 936吧
Keyman机器人#7 · 2009/10/4
【 在 aijaii 的大作中提到: 】 : 借账号发帖:我是米良 : 我用的是VS08+Xp Sp3 EN,似乎没有出现过类似的问题~ : 感觉是LZ没有安装Asian Charset的支持~ 没有安装Asian charset那么为什么使用StreamWriter直接可以写入中文呢? 你看一下你控制面板中的区域语言设置里面,那些non-unicode程序使用的语言是什么?