问题:
远程到阿里的CentOS服务器,发现自己代码里的中文显示乱码,如下:
原因:
本地电脑的字符集和远程服务器字符集不匹配导致的
解决方案:
在本地的ITerm中执行:
vim ~/.vimrc
1
|
vim
~
/
.
vimrc
|
在文件中写入如下内容:
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf-8 set encoding=utf-8
1
2
3
|
set
fileencodings
=
utf
-
8
,
ucs
-
bom
,
gb18030
,
gbk
,
gb2312
,
cp936
set
termencoding
=
utf
-
8
set
encoding
=
utf
-
8
|
然后再远程到服务器,这时就显示正常了。
如果在远程服务器上vim 时,代码里的中文乱码, 在远程服务器上执行如下代码:
vim ~/.vimrc
1
|
vim
~
/
.
vimrc
|
在文件中写入如下内容:
syntax on set encoding=cp936 set langmenu=zh_CN set imcmdline source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim set termencoding=utf8 set fileencodings=utf-8,gbk,ucs-bom,cp936
1
2
3
4
5
6
7
8
|
syntax
on
set
encoding
=
cp936
set
langmenu
=
zh_CN
set
imcmdline
source
$
VIMRUNTIME
/
delmenu
.
vim
source
$
VIMRUNTIME
/
menu
.
vim
set
termencoding
=
utf8
set
fileencodings
=
utf
-
8
,
gbk
,
ucs
-
bom
,
cp936
|
然后重新对文件进行vim操作
在此先推荐大家看一篇文章,关于su 和su - 的区别:https://www.cnblogs.com/gaoxinzhan/p/4344681.html
有时可能是环境变量导致的问题。
参考地址:
https://segmentfault.com/q/1010000002426378