LINUX修改文件字符集

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  有些情况下,我们需要修改文件的字符集,以便解决乱码或者其他问题。在linux下,操作系统为我们提供了ICONV这个命令,下面我们来看一下这个命令的具体使用方法。

  [plain]

  [root@oadata ~]# iconv –help

  用法: iconv [选项…] [文件…]

  转换给定文件的编码。

  输入/输出格式规范:

  -f, –from-code=名称 原始文本编码

  -t, –to-code=名称 输出编码

  信息:

  -l, –list 列举所有已知的字符集

  输出控制:

  -c 从输出中忽略无效的字符

  -o, –output=FILE 输出文件

  -s, –silent 关闭警告

  –verbose 打印进度信息

  -?, –help 给出该系统求助列表

  –usage 给出简要的用法信息

  -V, –version 打印程序版本号

  Mandatory or optional arguments to long options are also mandatory or optional

  for any corresponding short options.

  For bug reporting instructions, please see: .

  如果要查看某个文件的字符信息,linux同样提供了file函数:

  [plain]

  [root@oadata ~]# file –help

  Usage: file [OPTION]… [FILE]…

  Determine file type of FILEs.

  -m, –magic-file LIST use LIST as a colon-separated list of magic

  number files

  -z, –uncompress try to look inside compressed files

  -b, –brief do not prepend filenames to output lines

  -c, –checking-printout print the parsed form of the magic file, use in

  conjunction with -m to debug a new magic file

  before installing it

  -f, –files-from FILE read the filenames to be examined from FILE

  -F, –separator string use string as separator instead of `:’

  -i, –mime output mime type strings

  -k, –keep-going don’t stop at the first match

  -L, –dereference causes symlinks to be followed

  -n, –no-buffer do not buffer output

  -N, –no-pad do not pad output

  -p, –preserve-date preserve access times on files

  -r, –raw don’t translate unprintable chars to \ooo

  -s, –special-files treat special (block/char devices) files as

  ordinary ones

  –help display this help and exit

  –version output version information and exit

  [root@oadata ~]# file -i a.log

  a.log: text/plain; charset=us-ascii

  单文件的字符集转换:

  [plain]

  [oracle@oadata dir1]$ ls -l

  总计 4

  -rw-r–r– 1 oracle oinstall 22 10-12 13:14 utf8.txt

  [oracle@oadata dir1]$ file -i utf8.txt

  utf8.txt: text/plain; charset=utf-8

  [oracle@oadata dir1]$ iconv -f utf-8 -t gbk -o gbk.txt utf8.txt

  [oracle@oadata dir1]$ ls -l

  总计 8

  -rw-r–r– 1 oracle oinstall 15 10-12 13:43 gbk.txt

  -rw-r–r– 1 oracle oinstall 22 10-12 13:14 utf8.txt

  [oracle@oadata dir1]$ file -i gbk.txt

  gbk.txt: text/plain; charset=iso-8859-1

  对某目录下的文件进行字符集转换:

  [plain]

  for i in `find ./ -name *.php` ;

  do echo $i;iconv -c -f gb18030 -t utf8 $i -o /tmp/iconv.tmp;

  mv /tmp/iconv.tmp $i;

  done

地球仍然转重,世间依旧善变,而我永远爱你。

LINUX修改文件字符集

相关文章:

你感兴趣的文章:

标签云: