win使用telnet到ubuntu下vim显示中文为乱码的解决方法~

1.几个路径:

ubuntu: /etc/default/locale  相当于 centos:/etc/sysconfig/i18n

vimrc的路径:① ~/.vimrc    ② /etc/vim/vimrc

2. 解决方法:

①添加语言支持

$sudo vim /var/lib/locales/supported.d/local#

添加下面的中文字符集zh_CN.GBK GBK                 zh_CN.GB2312 GB2312                 zh_CN.GB18030 GB18030使其生效:$sudo dpkg-reconfigure locales
②vi ~/.vimrc(如果vi /etc/vim/vimrc的话,不知道为什么满屏都是高亮的屏蔽字 = =!)
③set fileencodings=utf-8,gbk
set termencoding=utf-8,gbk (这里gbk是我自己添加的,因为使用的系统是xp,xp内部使用的编码为gbk,termencoding这个字段又是跟终端显示编码有关)
set encoding=prc

3.编码的基础知识 in case i forget this someday

Vim中有几个选项会影响对多字节编码的支持:
①encoding(enc):encoding是Vim的内部使用编码,encoding的设置会影响Vim内部的Buffer、消息文字等。在 Unix环境下,encoding的默认设置等于locale;                  Windows环境下会和当前代码页相同。在中文Windows环境下encoding的 默认设置是cp936(GBK)。
②fileencodings(fenc):Vim在打开文件时会根据fileencodings选项来识别文件编码,fileencodings可以同时设置多个编码,Vim会根据设置的顺序来猜测所打开文件的编码。
③fileencoding(fencs) :Vim在保存新建文件时会根据fileencoding的设置编码来保存。如果是打开已有文件,Vim会根据打开文件时所识别的编码来保存,除非在保存时重新设置fileencoding。
④termencodings(tenc):在终端环境下使用Vim时,通过termencoding项来告诉Vim终端所使用的编码。Vim中的编码转换

Vim内部使用iconv库进行编码转换,如果这几个选项所设置的编码不一致,Vim就有可能会转换编码。打开已有文件时会从文件编码转换到encoding所设置的编码;保存文件时会从encoding设置的编码转换到fileencoding对应的编码。经常会看到Vim提示[已转换],这是表明Vim内部作了编码转换。终端环境下使用Vim,会从termencoding设置的编码转换到encoding设置的编码。ps:可以用|:help encoding-values|列出Vim支持的所有编码。 

4. 改变已存在文件的编码方法:

① 比如将GBK的格式转换成utf-8格式:
方法:先打开文件,使用命令::set fileencoding=utf-8
②使用iconv命令:
[[email protected] ~]# iconv --list
[[email protected] ~]# iconv -f 原本编码 -t 新编码 filename [-o newfile]
选项与参数:
--list :列出 iconv 支持的语系数据
-f     :from ,亦即来源之意,后接原本的编码格式;
-t     :to ,亦即后来的新编码要是什么格式;
-o file:如果要保留原本的档案,那么使用 -o 新档名,可以建立新编码档案。

范例一:将 /tmp/vitest/vi.big5 转成 utf8 编码吧!
[[email protected] ~]# cd /tmp/vitest
[[email protected] vitest]# iconv -f big5 -t utf8 vi.big5 -o vi.utf8
[[email protected] vitest]# file vi*
vi.big5: ISO-8859 text, with CRLF line terminators
vi.utf8: UTF-8 Unicode text, with CRLF line terminators
PS:引用自《鸟哥的私房菜》~~~

5.参考资料:

http://blog.chinaunix.net/uid-26808060-id-4338345.html
http://www.cnblogs.com/xkfz007/archive/2011/11/17/2252019.html
时间: 2024-10-13 08:55:53

win使用telnet到ubuntu下vim显示中文为乱码的解决方法~的相关文章

关于HTML显示中文为乱码的解决方法

<meta http-equiv="content-type" content="text/html;charset=utf-8"/>

ubuntu下Qt cannot find -lGL错误的解决方法 (转载)

在ubuntu下使用Qt 编译时候遇上了cannot find -lGL错误,使用命令 sudo apt-get install libqt4-dev或者sudo apt-get install libgl1-mesa-dev或者libgl1-mesa-dev或者libglu1-mesa-dev可以解决问题 之前可以先apt-get install update一下 我遇到的Linux的错误集合: 1:ps -aux | grep corseGui  查找corseGui的进程 kill -s

ubuntu下QT输出程序控制台界面难看的解决方法

这几天在ubuntu下装了QT5,但输出程序界面后,简直无法入目 于是,随便乱找后,终于找到解决方法 打开选项 在终端那行改下就行

linux命令行下中文文件名乱码的解决方法

首先查询支持的编码: locale -a 如果没有你需要的编码,例如zh_CN.utf8 root运行: #dpkg-reconfigure locales 选择你需要的编码,用空格选中,可多选.tab选择"OK",回车. 默认编码选择zh_CN.utf8 安装你所需要的编码. 方法一: 修改/etc/sysconfig/i18n 文件 把里面的LANG="en_US"改成 GB2312就可以了 要重启一下机器 不用重启的方法,直接 # LANG="GB2

linux下终端,vim显示中文为乱码

这个问题,主要还是一些环境变量设置不对导致. 主要修改的文件包括: 1./var/lib/locales/supported.d/local 2./etc/environment 3.~/.vimrc 首先, sudo  vim /var/lib/locales/supported.d/local    en_HK.UTF-8 UTF-8    en_US.UTF-8 UTF-8    zh_CN.UTF-8 UTF-8    zh_CN.GBK   GBK     #增加    zh_CN.G

ubuntu下/boot空间被占满的解决方法

我这个方法是直接删除或移除的方法,网上有采用 查看dpkg --get-selections|grep linux 安装的内核包 然后卸载不需要的内核 sudo apt-get remove linux-image-(版本号)(就是上面带image的版本) 如果你在卸载的过程报错,或者卸载不了(卸载的话会连带卸载一些其他的库) 那么试试我这个方法: 先查看下 系统使用的内核是多少 uname -aLinux UBT 4.8.0-56-generic #61~16.04.1-Ubuntu SMP

Ubuntu下apt-get出现“no public key available…”解决方法

如果出现W: There is no public key available for the following key IDs: 3B4FE6ACC0B21F32 可使用命令apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 3B4FE6ACC0B21F32

win2003配置apache2.2下,php页面出现乱码的解决方法

找到apache安装目录下的 httpd.conf 文件 修改或增加这一句 AddDefaultCharset GB2312 ps:刚刚装好的Apache2.2的httpd.conf文件中是没有“AddLanguage”或“AddCharset”的,直接在文件末尾添加就行了.

ubuntu 中用vim打开txt等文件中文显示乱码的解决方法 &nbsp;

今晚用ubuntu 12.04 的vim编辑网页代码时,发现上面的中文显示乱码.这个html文件是我之前用gedit编辑的,在gedit里面显示正常,可是在vim下显示就是乱码了. 怎么解决ubuntu中vim显示中文乱码的问题呢? 首先,添加中文字符编码: sudo gedit /var/lib/locales/supported.d/local 在打开的文件中添加下面的中文字符集 zh_CN.GBK GBK zh_CN.GB2312 GB2312 zh_CN.GB18030 GB18030