ubuntu 字符集与乱码

本文介绍如何解决从Windows迁移到Ubuntu后出现的文本乱码问题。通过使用enca和iconv工具,可以轻松识别并转换文档编码,实现从GB2312到UTF-8的转换。

以前一直使用windows 操作系统工作后来迁移到ubuntu上但是之前在windows下保存的文档(默认编码gb2312)到ubuntu上全部乱码(默认编码utf-8),记得可以在ubuntu上给gedit(文本编辑器)更改字符集顺序,现在觉得太麻烦了索性把文本编码全改成utf-8算了 ~~!!

1 cat 文本乱码,enca 查看文本编码为gb2312,可使用iconv来转换编码

 
 
  1. cat haproxy-log.path.txt  
  2. ־
  3. vi /etc/sysconfig/syslog 
  4. SYSLOGD_OPTIONS="-m 0"
  5. syslogd 
  6. /etc/init.d/syslog restart 
  7. ȻͿԿ
  8.  
  9. enca haproxy-log.path.txt  
  10. Simplified Chinese National Standard; GB2312 
  11.   CRLF line terminators 
  12.  
  13. iconv -f GB2312 -t utf8 haproxy-log.path.txt
  14. #以下为输出
  15. vi /etc/sysconfig/syslog 
  16. SYSLOGD_OPTIONS="-m 0" 改成 SYSLOGD_OPTIONS="-r -m 0" 
  17. 让syslogd接受远程的日志输出 
  18. /etc/init.d/syslog restart 
  19. 然后就可以看到日志输出了
  20. #输出结束

 

2 iconv --help

 
 
  1. $ iconv --help 
  2. 用法 iconv [选项...] [文件...] 
  3. 转换给定文件的编码。 
  4.  
  5.  输入/输出格式规范 
  6.   -f, --from-code=名称     原始文本编码 
  7.   -t, --to-code=名称       输出编码 
  8.  
  9.  信息 
  10.   -l, --list                 列举所有已知的字符集 
  11.  
  12.  输出控制 
  13.   -c                         从输出中忽略无效的字符 
  14.   -o, --output=FILE          输出文件 
  15.   -s, --silent               关闭警告 
  16.       --verbose              打印进度信息 
  17.  
  18.   -?, --help                 给出该系统求助列表 
  19.       --usage                给出简要的用法信息 
  20.   -V, --version              打印程序版本号 
  21.  
  22. 长选项的强制或可选参数对对应的短选项也是强制或可选的。 

 

3 enca/econv 可以更方便的转换文本编码

 
 
  1. #安装enca 
  2. apt-get install enca 
  3.  
  4. #查询单个文件的编码 
  5. enca haproxy-log.path.txt

  6. #转换单个文件的编码 
  7. enca -L none -x utf-8
  8. enconv haproxy-log.path.txt    
  9.  
  10. #以下为输出
    vi /etc/sysconfig/syslog
    把SYSLOGD_OPTIONS="-m 0" 改成 SYSLOGD_OPTIONS="-r -m 0"
    让syslogd接受远程的日志输出
    /etc/init.d/syslog restart
    然后就可以看到日志输出了
    #输出结束
  11.  
  12. #当然还可以批量转换 
  13. find haproxy/ -name '*.txt' | xargs enconv 

 

扩展

字符集与编码

 本文转自 dongnan 51CTO博客原文链接http://blog.51cto.com/dngood/726746



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值