fengyuganyu 发表于 2010-9-9 18:54:34

求助,Linux中 在vi下编程汉字无法输入,编译出现乱码?怎么办

我是在VMW上装的redhat9在vi中输入代码但是输入汉字就不能保存,我用gedit直接把汉字输入,但是用gcc编译后就会出现乱码等问题,请前辈老鸟们指教下!!急呀!!
   怎么才能顺利的把汉字编译成功

fengyuganyu 发表于 2010-9-13 22:12:02

自己顶 下,自己搞定了

sunliezhi 发表于 2010-9-13 22:54:50

能在液晶上正常显示不?

fengyuganyu 发表于 2010-9-13 23:14:34

谢谢楼上的哥们我的解决了主要是编译环境时用的输入编码集没选对

sunliezhi 发表于 2010-9-14 11:53:02

这个问题困扰我很长时间了,一直没解决,请楼主详细说说,谢谢!

root 发表于 2010-9-14 12:56:22

locale?
LC_XXX?

fengyuganyu 发表于 2010-9-14 22:08:00

你可以在gedit 里面写 但就是界面有点不爽。在gedit里 你在菜单栏中的 编辑 下选首选项然后 在保存那个项目里将“保存已有文件时...”的选项选中第2个 下面那个选项也选中第2个因为这个选项的意思是 在当前的环境下编码 而redhat9默认的环境是GB的
所以它会按GB编码保存,在编译时就不会出错。

fengyuganyu 发表于 2010-9-14 22:18:56

补充一句 ,可能不太准确,个人意见。在写代码在不同的环境里面都有保存编码格式 这个属性,不同的编码集所对应的编码形式不一样,ASCII码在小于128内 基本一样 ,但是汉字这种多字符的组织形式,在不同编码集里面不一样,UTF-8里面更为灵活,因为它的储存格式是为节省空间,它最小是8位,当保存不同字节的数据时,他会侦测这个数据,然后给他分配空间,是动态的分配,不会是4字节的类型就给它4字节空间,4字节类型里面可能只有3字节,那么就会按3字节保存。这必然导致汉字的存储不一样,在GB里面汉字一般是2字节,但是在UTF系列里 就不一定,可能3字节 可能4字节 ,所以会出现编译乱码,在VI里面之所以保存不了汉字 也是编码环境问题,只要把环境改为GB 就应该可以。
   以上纯属个人意见,也不是很全面
页: [1]
查看完整版本: 求助,Linux中 在vi下编程汉字无法输入,编译出现乱码?怎么办