logo头像
Snippet 博客主题

Linux 解决Vi输入中文乱码的问题

在VPS 中, 有时vi 打开一个文件中, 中文会显示乱码, 用locale 查看如下,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
➜  ~ locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

其实vi中输入中文乱码与上述系统语言编码无关,是vi自身的环境变量设置出了问题, 解决办法如下

1
2
3
~ vi .viminfo  # ubuntu 18
encoding=latin1#修改成下面
encoding=utf-8

评论系统未开启,无法评论!