windows下gVim使用mingw编译运行程序中文乱码,江湖救急!

网上找了很多资料也没解决,有没有高手解答一下另外:!echo中文也乱码... 网上找了很多资料也没解决,有没有高手解答一下
另外:!echo 中文 也乱码
展开
 我来答
hangyu19871018
推荐于2016-09-07 · TA获得超过243个赞
知道答主
回答量:70
采纳率:0%
帮助的人:58.9万
展开全部
编码问题!
应该涉及到两个选项。
你分别用
:set encoding?
:set fileencoding?
查看是否是cp936
MS CMD.exe 是GBK(CP936)编码,如果vim里的编码是utf-8输出当然出错。
encoding是vim界面及输入时的编码
fileencoding是保存文件的编码
试一试
:set encoding=cp936
:set fileencoding=cp936
更多追问追答
追问
我的_vimrc的设置:
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1,chinese
set termencoding=cp936
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
我按照你的方式改了,但是进入gvim之后,界面里面的中文就乱码了~
追答
(一)界面乱码
把 set encoding=utf-8 这行去掉。应为windows下 gvim 默认编码是cp936。

如果你不去掉这一行,可以试一试这样打开,也不会乱码
1.打开cmd,2输入set LANG=zh_CN.UTF-8 3输入cd 到gvim安装目录 4输入 gvim

如果菜单中英夹杂把这些加上。
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

(二)是打开的文件乱码?
vim自动识别编码的能力很弱的,

(1)如果打开文件后乱码,并且你知道文件的编码,比如utf-8,那么:
:e ++enc=utf-8
其他编码一次类推。

(2)utf-8的bom
unix默认没有BOM,windows默认有BOM
:set bomb
:set nobomb

(3)换行符问题:
:e ++ff=dos
其他dos,mac,unix次类推。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式