首页 新闻 会员 周边 捐助

C# 接收简体乱码如何解决?

0
[已解决问题] 解决于 2018-03-29 08:33

如下图所示,本机系统是繁体WinServer 2012R2,新建一个控制台程序,接收输入的简体文字后,部分文字被保存成了乱码,有什么好的方法?

测试代码如下:

 1 Console.WriteLine("CurrentCulter:{0}", CultureInfo.CurrentCulture.Name);
 2             Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN", false);
 3             Console.WriteLine("更改后的Culter:{0}", CultureInfo.CurrentCulture.Name);
 4             Console.WriteLine("更改後的CurrentCulter:{0}", CultureInfo.CurrentCulture.Name);
 5 
 6             Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CN", false);
 7             Console.WriteLine("更改后的CurrentUICulture:{0}", CultureInfo.CurrentUICulture.Name);
 8 
 9             Console.Write("輸入值:");
10             string xx = Console.ReadLine();
11             Console.WriteLine("輸出值:{0}",xx);

 

Cornelius的主页 Cornelius | 初学一级 | 园豆:80
提问于:2014-11-15 10:49
< >
分享
最佳答案
0

你是为了简化说明,所以才用控制台,还是你最终的软件就是用控制台接收数据的?

奖励园豆:5
爱编程的大叔 | 高人七级 |园豆:30844 | 2014-11-15 10:54

只是一个简单的文件批量重命名应用,功能是通过文件所在路径、文件名扩展,要被替换的字符串、要替换成的字符串,通过控制台接收这些参数,由于系统是繁体,接收简体的时候有些简体字不能被正确接收(被转成不被识别的BIG5码)。

所以在这里提出的问题,是想解决:如何使控制台 接收到的字符串 与 输入的字符串 一模一样(而不说被转成BIG5码)?

Cornelius | 园豆:80 (初学一级) | 2014-11-15 12:43

@Cornelius: 这个问题本来就是只有以前的软件才会有的问题,最新的使用UNICODE就没有问题了。

所以如果你非得要用以前的(比如说CONSOLE)来接收,就得自己加一堆的判断语句来判断,并进行转换。

爱编程的大叔 | 园豆:30844 (高人七级) | 2014-11-15 12:48

@爱编程的大叔: 有可供参考的网址什么的吗?

Cornelius | 园豆:80 (初学一级) | 2014-11-26 18:19
其他回答(1)
0

后台保存到数据库了么,如果是数据库,设置下数据库的字符集,怎么设置我一下子想不起来了,你百度下

袁家小黑球 | 园豆:1045 (小虾三级) | 2014-11-15 11:11

没有数据库,无关数据集,就C# 控制台程序,功能就是能够 接收简体字符串并返回简体字符串。(系统是繁体)

支持(0) 反对(0) Cornelius | 园豆:80 (初学一级) | 2014-11-26 18:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册