Vim中输入的代码编译后中文乱码

Vim、Emacs配置和使用
回复
lh-n
帖子: 40
注册时间: 2009-02-23 15:52

Vim中输入的代码编译后中文乱码

#1

帖子 lh-n » 2009-02-24 10:04

我在Vim中输入含中文的代码,显示一切正常,但是在编译后执行时,中文却是乱码(如图所示)。

请问这个问题如何解决?
我使用的是MinGW中的g++编译,
语言及编码设置为:
"语言及编码设置

代码: 全选

set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
"解决菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
"解决consle输出乱码
language messages zh_CN.utf-8
1.jpg
附件
cs1.rar
这是文件样本
(150.36 KiB) 已下载 53 次
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: Vim中输入的代码编译后中文乱码

#2

帖子 eexpress » 2009-02-24 10:09

记得是终端标题,要加2边的空格。
或者安装vim-gome。
大概是这样。
● 鸣学
lh-n
帖子: 40
注册时间: 2009-02-23 15:52

Re: Vim中输入的代码编译后中文乱码

#3

帖子 lh-n » 2009-02-24 10:13

不好意思,我是在Windows下装的Vim
sarrow
帖子: 403
注册时间: 2007-10-27 1:04

Re: Vim中输入的代码编译后中文乱码

#4

帖子 sarrow » 2009-02-24 18:00

:set fenc=cp936

在输出有中文信息的时候,不要使用utf8编码来保存程序!

Mingw不支持对于utf8的中文支持得不好(准确说是stl部分)。如果一定要在utf8格式的源文件的情况下,输出中文,请升级编译器。用gcc 4.3(这个有已经编译好的for windows的版本,请自己找)。
poet
帖子: 2841
注册时间: 2006-09-11 22:47

Re: Vim中输入的代码编译后中文乱码

#5

帖子 poet » 2009-02-24 18:29

源代码的编码要与终端一致。

你现在使用的是windows终端,而中文版windows的终端是 cp936的编码。所以你不能用utf-8

。其实你换一个 utf-8 的终端就可以了。
lh-n
帖子: 40
注册时间: 2009-02-23 15:52

Re: Vim中输入的代码编译后中文乱码

#6

帖子 lh-n » 2009-02-24 20:58

问题已解决,学习了,谢谢各位!
回复