linux修改文件编码
A. 如何在 linux 中将文件编码转换为 UTF-8
Linux中转换文件的编码是用iconv命令,iconv命令有三个选项是必须要掌握的:
-f选项:即from,表示原本的编码格式
-t选项:即to,表示后来的新编码
-o选项:用于指定输出文件,就是转换编码后的新文件,如果没有指定输出文件选项,原来的文件会被新文件覆盖掉。
下面是将GB2312编码的文件转换成UTF-8编码的例子:
iconv -f gb2312 -t utf8 gb2312.txt -o utf8.txt
例子中gb2312.txt就是要转换的文件,utf8.txt就是转换后的新文件。
B. linux文件编码转换及Windows上创建的文件转为Linux格式
在Linux上查看文件,有时候会出现中文乱码的问题。这是因为文件编码不兼容导致的,需要进行文件转码。
1、用VI查看文件编码,在Vi命令模式以下命令,即可显示文件编码格式。
2、 改写~/.vimrc 文件,在文件中添加以下内容,就可以让vi自动识别UTF-8或者GBK编码的文件。
将window上创建的脚本传输到linux执行时,会出现-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory的错误。
1、vi打开文件,并在命令模式下输入以下命令回车,此时看到的是dos格式。
2、修改文件格式, 同样在vi命令格式下,输入以下修改文件格式。
C. 如何在linux下查看文件编码以及修改编码
查看文件编码 在Linux中查看文件编码可以通过以下几种方式: 1.在Vim中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式。 如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在 ~/.vimrc 文件中添加以下内容: set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。 2. enca (如果你的系统中没有安装这个命令,可以用sudo yum install -y enca 安装 )查看文件编码 $ enca filename filename: Universal transformation format 8 bits; UTF-8 需要说明一点的是,enca对某些GBK编码的文件识别的不是很好,识别时会出现:
D. 如何批量修改linux 文件编码格式
批量转换文件的编码当然是使用命令来转换咯,如果文件太多还可以写一个shell脚本进行批量转换,Linux系统中转换文件编码格式的命令是iconv。iconv命令的使用介绍一下,iconv命令很简单,记住它的三个参数就可以了,下面是它的三个参数:
-f参数:表示from,就是原本的编码格式
-t参数:表示to,就是后来的新编码
-o参数:表示输出文件,就是转换编码后的新文件的文件名,如果没有这个参数新文件会将原来的文件覆盖掉。
下面是将GB2312编码的文件转换成UTF-8编码的例子:
iconv
-f
gb2312
-t
utf8
mygb2312.txt
-o
myutf8.txt
这个例子中mygb2412.txt就是要转换的文件,myutf8.txt就是转换后的新文件。
E. 如何批量修改linux 文件编码格式
批量转换文件的编码当然是使用命令来转换咯,如果文件太多还可以写一个shell脚本进行批量转换,Linux系统中转换文件编码格式的命令是iconv。iconv命令的使用介绍一下,iconv命令很简单,记住它的三个参数就可以了,下面是它的三个参数:
-f参数:表示from,就是原本的编码格式
-t参数:表示to,就是后来的新编码
-o参数:表示输出文件,就是转换编码后的新文件的文件名,如果没有这个参数新文件会将原来的文件覆盖掉。
下面是将GB2312编码的文件转换成UTF-8编码的例子:
iconv -f gb2312 -t utf8 mygb2312.txt -o myutf8.txt
这个例子中mygb2412.txt就是要转换的文件,myutf8.txt就是转换后的新文件。
F. 如何在Linux中将文件编码转换为UTF-8
在Linux中转换文件的编码可以使用iconv命令,它的使用很简单的,比如下面这条命令将GB2312编码的文件转换成UTF-8编码的文件:
iconv -f gb2312 -t utf8 mygb2312.txt -o myutf8.txt
这个例子中mygb2412.txt是要转换的文件,myutf8.txt是转换后的新文件。 iconv命令最常用的形式就是上面这条命令,它所使用的三个选项解释如下:
-f选项:就是from的意思,后面跟原来的编码格式
-t选项:英文to的意思,后面跟转换后的新编码
-o选项:指定输出文件,就是转换编码后的新文件的文件名,没有这个参数时新文件会将原来的文件覆盖。
其实还可以用几乎每个Linux发行版都自带的gedit这个软件打开需要转换编码的文件,然后选择另存为功能,在保存文件对话框中选择UTF-8编码,再输入一个新文件名点击保存就转换出一个UTF-8编码的文件了。
G. 如何在 Linux 中将文件编码转换为 UTF-8
1、iconv命令来转换文件的编码,格式:
iconv -f 原本的编码格式 -t 要转换成的编码 文件名 -o 新文件名
2、例如:
iconv -f gb2312 -t utf8 a.txt -o utf8.txt
3、vim 文件名.txt
:set fileencoding
:set fenc
查看现在文本的编码
:set fenc=编码
转换当前文本的编码为指定的编码
:set encoding=编码
:set enc=编码
以指定的编码显示文本,但不保存到文件中。
输入 :e ++enc=gbk 强制用gbk打开
输入 :w ++enc=utf8 转换到utf8保存。
4、可以使用 file 命令,并添加 -i 或 --mime 参数来查看一个文件的字符编码
file -i a.txt
H. linux批量将文件编码由gbk转成utf8
一些老的项目,文件编码用的还是gbk,很不利于扩展及维护。经常需要在程序中进行判断及转码,容易出现乱码现象。最好的方式就是将整个项目转成utf-8。那么如何批量将一个目录下的文件转编码?
设置 ~/.vimrc
找出目录下的所有文件类型
转码的脚本
gbk_to_utf8.sh
gbk_utf8.vi
在当前目录下执行转码脚本:
欢迎查看我的网站原文
I. suse linux更改编码格式posix
SUSE Linux编码问题
解决问题是:
1.手动更改profile文件的命令:vi /etc/profile,2.在文件的末尾添加以下两行命令:export LC_ALL="zh_CN.GBK"
3.也可在/root/.bash_profile文件的末尾添加以下两行命令
4.修改成功以后用locale命令查看,修改前的默认设置。