当前位置: 技术问答>linux和unix
新手问题:linux中乱码问题
来源: 互联网 发布时间:2017-02-23
本文导语: 我用gedit命令或者vi编辑一个非英文的文件时都会出现乱码,请问如何解决 | iconv -f gbk -t utf8 i>j 转换编码方式,文件比较多的话可以写个脚本,我之前有个.c文件注释全是乱码,写了个脚本,我也是...
我用gedit命令或者vi编辑一个非英文的文件时都会出现乱码,请问如何解决
|
iconv -f gbk -t utf8 i>j
转换编码方式,文件比较多的话可以写个脚本,我之前有个.c文件注释全是乱码,写了个脚本,我也是新手,仅供参考
#!/bin/sh
cd /usr/j
for i in *.c
do
iconv -f gbk -t utf8 ${i}>new${i}
rm ${i}
done
for j in *.c
do
mv ${j} ${j#new}
done
exit 0
|
对于vim打开文件乱码,vim有自己的内部编码
环境变量LC_CTYPE(使用的内部编码);
Vim选项encoding(Vim的内部编码);
Vim选项termencoding(Vim在与屏幕/键盘交互时使用的编码);
Vim选项fileencoding(Vim当前编辑的文件在存储时的编码);
Vim选项fileencodings(Vim打开文件时的尝试使用的编码);
Vim选项ambiwidth(对"不明宽度"字符的处理方式;Vim 6.1.455后引入)
要让vi打开中文显示很简单打开文件设置
:set fileencodings=utf-8
在编辑完后存储时设置
:set fileencoding=utf-8
要让vim自动识别编码
在 ~/.vimrc 里加一行
set encoding=cp936
set fileencodings=utf-8,gbk,big5
在使用vim前也可以这样来做:
只要在命令的前面加一个env LANG=zh_CN.GB2312|zh_CN.GB18030|zh_CN.GBK|zh_CN.UTF-8 vi *
环境变量LC_CTYPE(使用的内部编码);
Vim选项encoding(Vim的内部编码);
Vim选项termencoding(Vim在与屏幕/键盘交互时使用的编码);
Vim选项fileencoding(Vim当前编辑的文件在存储时的编码);
Vim选项fileencodings(Vim打开文件时的尝试使用的编码);
Vim选项ambiwidth(对"不明宽度"字符的处理方式;Vim 6.1.455后引入)
要让vi打开中文显示很简单打开文件设置
:set fileencodings=utf-8
在编辑完后存储时设置
:set fileencoding=utf-8
要让vim自动识别编码
在 ~/.vimrc 里加一行
set encoding=cp936
set fileencodings=utf-8,gbk,big5
在使用vim前也可以这样来做:
只要在命令的前面加一个env LANG=zh_CN.GB2312|zh_CN.GB18030|zh_CN.GBK|zh_CN.UTF-8 vi *
|
文件确认是utf8的,把LANG改成en_US.utf-8
|
在编辑文件前执行 export LANG=zh_CN.gb
|
设置环境变量LANG,再设置vim的字体。
一般我使用utf-8
一般我使用utf-8