Linux系统下转换文件编码的方法小结
一、利用iconv命令进行文件内容编码转换
用法: iconv [选项…] [文件…]
有如下选项可用:
输入/输出格式规范:-f, –from-code=名称 原始文本编码-t, –to-code=名称 输出编码
信息:-l, –list 列举所有已知的字符集
输出控制:-c 从输出中忽略无效的字符-o, –output=FILE 输出文件-s, –silent 关闭警告–verbose 打印进度信息
-?, –help 给出该系统求助列表–usage 给出简要的用法信息-V, –version 打印程序版本号
例子:
代码如下:
这个命令读取aaa.txt文件,从gb2312编码转换为utf-8编码,其输出定向到bbb.txt文件。注:windows下写字板生成的txt一般是gb18030编码,如果指定错误会报如下错误:iconv: 未知 6071 处的非法输入序列
二、文件名编码转换因为现在用linux,原来在windows里的文件都是用GBK编码的。所以copy到linux下是乱码,文件内容可以用iconv来转换可是好多中文的文件名还是乱码,找到个可以转换文件名编码的命令,就是convmv。convmv命令详细参数
例如convmv -f GBK -t UTF-8 *.mp3不过这个命令不会直正的转换,你可以看到转换前后的对比。如果要直正的转换要加上参数 –notestconvmv -f GBK -t UTF-8 –notest *.mp3-f 参数是指出转换前的编码,-t 是转换后的编码。这个千万不要弄错了。不然可能还是乱码哦。还有一个参数很有用。就是 -r 这个表示递归转换当前目录下的所有子目录。* 需要安装 convmv-1.10-1.el5.noarch.rpm
三、更好的傻瓜型命令行工具enca
它不但能智能的识别文件的编码,而且还支持成批转换。 1.安装
代码如下:
2.查看当前文件编码
代码如下:
3.转换 命令格式如下 $enca -L 当前语言 -x 目标编码 文件名 例如要把当前目录下的所有文件都转成utf-8
代码如下:
代码如下:
检查文件的编码
代码如下:
将文件编码转换为"UTF-8"编码
代码如下:
如果不想覆盖原文件可以这样,很简单吧。
PS:.查看编码的方法
方法一:
代码如下:
方法二:在Vim中可以直接查看文件编码
代码如下:
即可显示文件编码格式。
如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在 ~/.vimrc 文件中添加以下内容:
代码如下:
这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » Linux系统下转换文件编码的方法小结
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 织梦模板使用说明
- 你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html