C语言控制台程序,中文输出变成乱码,怎么解决?windows2008乱码

C语言控制台程序,中文输出变成乱码,怎么解决?

这里涉及到一个字符在源代码(文本)中,编译好的二进制文件中,以及最后控制台输出编码形式的区别.

首先,要明确一点:C(语言/程序)并不理解ANSI,UTF-8以及任何其他编码.它只知道处理你给它的字符的二进制表示.

在简体中文Windows下,默认的文本保存编码是ANSI(即GBK);Linux下根据系统locale设定,一般应该是(zh_CN.UTF-8).(以下基于简体中文Windows)

1)对于源文件中保存的"中文"这个字符串,VS2008看到的就是"0xd6d0"和"0xcec4"的形式(默认ANSI编码得到).但编译器才不管是不是GBK神马的,它就管那串数字.

区别,MinGW看到的是"0xe4b8ad"和"0xe69687"(gcc默认UTF-8).注意,用MinGW编译的源文件中有中文宽字符必须保存为UTF-8编码.

2)然后,在二进制文件中的存储形式,对传统的字符串(char str[] = "中文";),编译器什么都不做,直接把那串数字(如"0xd6d0","0xcec4")搬过去塞进二进制文件.

但对于宽字符串(wchar_t wstr[] = L"中文";),编译器会将其做转换,转换成Unicode编码格式(在Windows是UTF-16,而Linux下是UTF-32).如"中文"的16位Unicode是"0x4e2d"和"0x6587",然后把这串转换后的数字("0x4e2d","0x6587")塞进二进制文件中.(这里VS和MinGW做的没有区别)

天正建筑2013菜单显示乱码?

你的cad平台是2006以上的吗?如果是的话,你卸载重新安装也许可以修正。

其实天正7.0-8.5都是相当稳定的,建议用7.0-8.5之间版本的天正建筑,cad平台最好是2006或2008

primoramdisk怎么样?

Primo Ramdisk,普通用户推荐使用的软件,有破解版,较易上手,win7/win8。

[优点]是支持动态管理,即虚拟出来的硬盘用掉多少,内存才少多少,而不是设置成2G大小就 2G的内存全用了,同时提供了工具来快速改变Temp文件夹的位置等。

[缺点]由于使用了动态管理的技术,有点兼容性问题(极少数情况),比如Win8下AE无法使用,Vs2008无法编译等,基本普通用户使用无问题。

Qsoft Ramdisk,高级用户推荐,有破解版,不易上手,win8兼容性问题较大。

[优点]可以使用系统保留的内存空间,更趋向于真实的硬盘。

[缺点]不支持动态管理,盘符不能一直设置成中文(开机后乱码),安装繁琐。

Ramdisk Plus/Gilisoft RAMDisk /魔方,这几个半斤八两,所以放一起。

功能几乎相同,仅支持从空余的内存空间中开辟出硬盘,都有破解版,其中魔方的是绿色版,总有点水的感觉。

综上所述,如果你是普通用户,使用Primo Ramdisk完全可以,高级用户如果不用到一些奇怪的软件,比如Vs,Ae等一些要对内存识别的软件亦可使用。如果想简单点用,魔方就Ok了。

到此,以上就是小编对于的问题就介绍到这了,希望这3点解答对大家有用。

新闻标题:C语言控制台程序,中文输出变成乱码,怎么解决?windows2008乱码
文章路径:http://www.shufengxianlan.com/qtweb/news34/388984.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联