当前位置: 代码迷 >> Web前端 >> vi编者时无法输入中文
  详细解决方案

vi编者时无法输入中文

热度:153   发布时间:2012-07-27 11:03:00.0
vi编辑时无法输入中文
买了个VPS,用mac的term ssh过去后无法输入中文字符,在win下用SecureCRT ssh后能输入中文,但保存后页面用jetty暴露服务后浏览器打开还是乱码(应该是ssh过去的编码是gbk,vi保存的编码也是gbk,但jetty输出utf-8导致的)..

===================================
修改方法很简单,因为明确是vi编码的问题,就修改一下它的保存编码即可..
编辑/etc/vim/vimrc文件,在最后添上
set encoding=utf-8
set fileencoding=utf-8
set fileencodings=utf-8,gb18030,utf-16,big5

encoding(enc):
此项目配置的是vim的默认显示编码,如果你打开的文件编码与该属性配置的编码不同,那么Vim会将编码自动转换到配置编码再显示

fileencodings(fencs):
此项目配置的是一个编码列表,Vim在读取文件的时候,会根据这里的编码自动检测,如果检测失败则尝试下一个,直到检测成功为止。如果一直没有转换成功,则此值会为空

fileencoding(fenc):
这个项目配置的是新建文件和保存文件时文件的编码,如果它的值与encoding(enc)不一样,那么保存的时候Vim会自动把文件内容由encoding(enc)的编码转换为fileencoding(fenc)配置编码再保存。而读取文件的时候,该选项的值会自动同步为fileencodings(fencs):配置的有效编码。

这三个参数的解释来自下文的文章..里面还有其他内容,推荐阅读http://hi.baidu.com/theonote/blog/item/15fd4fc35d55d624f9dc611c.html
简单

=======================================
但此时用SecureCRT ssh过去后就不能输入中文了,修改SecureCRT的Option--Session Option--Appearance,把Character encoding改成utf-8即可
  相关解决方案