Linux下文件以及文件名编码转换

时间:2022-05-07 10:39:04

1.查看文件编码方式--file 文件名(但不是很准确)

yang@mint-linux ~ $ file baidu.html 
baidu.html: HTML document, UTF-8 Unicode text, with very long lines, with no line terminators
yang@mint-linux ~ $ file sina.html
sina.html: HTML document, ISO-8859 text, with very long lines, with CRLF, LF line terminators

2.转换文件编码--iconv -f 源编码 -t 目标编码 源文件名 > 目标文件名

yang@mint-linux ~ $ file sina.html 
sina.html: HTML document, ISO-8859 text, with very long lines, with CRLF, LF line terminators
yang@mint-linux ~ $ iconv -f gbk -t utf8 sina.html > sina_utf8.html
yang@mint-linux ~ $ file sina_utf8.html
sina_utf8.html: HTML document, UTF-8 Unicode text, with very long lines, with CRLF, LF line terminators

3.转换文件名编码--convmv -f 源编码 -t 目标编码 文件名 --notext(如果不加--notext则只是显示结果,不实际转换)

yang@mint-linux ~ $ touch 中文.txt
yang@mint-linux ~ $ convmv -f utf-8 -t gbk 中文.txt --notest
Your Perl version has fleas #37757 #49830
mv "./中文.txt" "./����.txt"
Ready!