CentOS 7 中文编码 文件编码 文件转码 查看编码 调整编码
(2016-09-02 16:49:38)
标签:
系统编码语言编码文件编码vim编码 |
分类: 服务器LorW |
默认语言:
$ locale
LANG=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"
<-------装的都是英文包 ,没有安装中文包
临时修改默认语言:
<----临时设置默认语言为中文,前提是安装了中文语言包
安装中文语言包:
查看文件编码:
<--- 没有这个命令请安装 sudo yum install -y enca
需要说明一点的是,enca对某些GBK编码 的文件 识别的不是很好,识别时会出现:
Unrecognized encoding
在Vim中查看文件编码:
:set fileencoding
如果想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在
~/.vimrc 文件 中添加以下内容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
这样,就可以让vim自动识别文件 编码 (可以自动识别UTF-8或者GBK编码 的文件 ),其实就是依照 fileencodings提供的编码 列表尝试,如果没有找到合适的编码 ,就用latin-1(ASCII)编码 打开。
在Vim中直接进行转换文件编码 ,比如将一个文件 转换成utf-8格式
:set fileencoding=utf-8
用命令enconv 转换文件编码:
enconv -L 原编码 -x 新编码 filename
例如: enconv -L zh_CN -x UTF-8 filename
用命令iconv 转换文件编码:
iconv -f 原编码 -t 新编码 filename
例如:iconv -f encoding -t encoding filename
用命令convmv 转换文件名编码:
<-----此命令常用于解决Linux文件拷贝到Windows后文件名乱码的问题
convmv -f 原编码 -t 新编码 [选项] filename
常用参数:
-r 递归处理子文件 夹
--notest 真正进行操作,请注意在默认情况下是不对文件 进行真实操作的,而只是试验。
--list 显示所有支持的编码
--unescap 可以做一下转义,比如把 变成空格
注意:该命令只转换文件名编码,文件内容不变
不要在NTFS和FAT文件 系统中使用此命令,否则可能产生意外结果,如果要在Linux 中正确的显示NTFS和 FAT的中文件名,可以通过mount参数来解决,具体方法查看一下man手册。
参考文档:
CentOS查看文件编码格式及文件编码转换
linux查看系统编码和修改系统编码的方法
centos7.0修改默认字符编码
Linux中文显示乱码?如何设置centos显示中文
[root@localhost ~]
$
cat /etc/locale.conf
<-----之前的
/etc/sysconfig/i18n 已变为
/etc/locale.conf
LANG=en_US.UTF-8
<------默认是英文
或
[root@localhost ~]
$
echo $LANG
查看系统已安装的语言包:
$ locale
LANG=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"
临时修改默认语言:
[root@localhost ~]
$
LANG="zh_CN.UTF-8"
安装中文语言包:
[root@localhost ~]
$
yum groupinstall chinese-support
查看文件编码:
[root@localhost ~]
$
enca
filename
需要说明一点的是,enca对某些GBK编码 的文件 识别的不是很好,识别时会出现:
Unrecognized encoding
在Vim中查看文件编码:
:set fileencoding
如果想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在
~/.vimrc 文件 中添加以下内容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
这样,就可以让vim自动识别文件 编码 (可以自动识别UTF-8或者GBK编码 的文件 ),其实就是依照 fileencodings提供的编码 列表尝试,如果没有找到合适的编码 ,就用latin-1(ASCII)编码 打开。
在Vim中直接进行转换文件编码 ,比如将一个文件 转换成utf-8格式
:set fileencoding=utf-8
用命令enconv 转换文件编码:
enconv -L 原编码 -x 新编码 filename
例如: enconv -L zh_CN -x UTF-8 filename
用命令iconv 转换文件编码:
iconv -f 原编码 -t 新编码 filename
例如:iconv -f encoding -t encoding filename
用命令convmv 转换文件名编码:
convmv -f 原编码 -t 新编码 [选项] filename
常用参数:
-r 递归处理子文件 夹
--notest 真正进行操作,请注意在默认情况下是不对文件 进行真实操作的,而只是试验。
--list 显示所有支持的编码
--unescap 可以做一下转义,比如把 变成空格
注意:该命令只转换文件名编码,文件内容不变
不要在NTFS和FAT文件 系统中使用此命令,否则可能产生意外结果,如果要在Linux 中正确的显示NTFS和 FAT的中文件名,可以通过mount参数来解决,具体方法查看一下man手册。
参考文档:
CentOS查看文件编码格式及文件编码转换
linux查看系统编码和修改系统编码的方法
centos7.0修改默认字符编码
Linux中文显示乱码?如何设置centos显示中文
前一篇:命令行下查看MySQL数据库编码