之前一直使用windows 操做系统工做,后来迁移到ubuntu上,可是以前在windows下保存的文档(默认编码gb2312),到ubuntu上所有乱码(默认编码utf-8),记得能够在ubuntu上给gedit(文本编辑器)更改字符集顺序,如今以为太麻烦了索性把文本编码全改为utf-8算了 ~~!!ubuntu
1 cat 文本乱码,enca 查看文本编码为gb2312,可以使用iconv来转换编码!windows
- $ cat haproxy-log.path.txt
- ־
- vi /etc/sysconfig/syslog
- SYSLOGD_OPTIONS="-m 0"
- syslogd
- /etc/init.d/syslog restart
- ȻͿԿ
- $ enca haproxy-log.path.txt
- Simplified Chinese National Standard; GB2312
- CRLF line terminators
- $ iconv -f GB2312 -t utf8 haproxy-log.path.txt
- #如下为输出!
- vi /etc/sysconfig/syslog
- 把SYSLOGD_OPTIONS="-m 0" 改为 SYSLOGD_OPTIONS="-r -m 0"
- 让syslogd接受远程的日志输出
- /etc/init.d/syslog restart
- 而后就能够看到日志输出了
- #输出结束!
2 iconv --help编辑器
- $ iconv --help
- 用法: iconv [选项...] [文件...]
- 转换给定文件的编码。
- 输入/输出格式规范:
- -f, --from-code=名称 原始文本编码
- -t, --to-code=名称 输出编码
- 信息:
- -l, --list 列举全部已知的字符集
- 输出控制:
- -c 从输出中忽略无效的字符
- -o, --output=FILE 输出文件
- -s, --silent 关闭警告
- --verbose 打印进度信息
- -?, --help 给出该系统求助列表
- --usage 给出简要的用法信息
- -V, --version 打印程序版本号
- 长选项的强制或可选参数对对应的短选项也是强制或可选的。
3 enca/econv 能够更方便的转换文本编码!ide
- #安装enca
- apt-get install enca
- #查询单个文件的编码
- enca haproxy-log.path.txt
- #转换单个文件的编码
- enca -L none -x utf-8
- enconv haproxy-log.path.txt
- #如下为输出!
vi /etc/sysconfig/syslog
把SYSLOGD_OPTIONS="-m 0" 改为 SYSLOGD_OPTIONS="-r -m 0"
让syslogd接受远程的日志输出
/etc/init.d/syslog restart
而后就能够看到日志输出了
#输出结束- #固然还能够批量转换
- find haproxy/ -name '*.txt' | xargs enconv
扩展编码
字符集与编码spa