之前一直使用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