Total Pageviews

Thursday 21 December 2017

MSYS输出中文到文件后无法提交到Github,UTF-8 error的解决

网上有说使用iconv命令转化文件, 但老出错.研究半天发现:
  • 我手动输入的文字是UTF-8格式的.
  • msys(原生态, 非msysgit)只支持GBK格式,虽然我们用alias ls='ls --show-control-chars -F --color=tty'可以更改shell显示中文,但输出编码仍然是GBK!
  • 一个文件中存在两种编码,于是变成非标准格式,iconv转换失败.
  • Github不支持GBK
所以问题解决了:1.脚本自动化后统一处理中文. 2.iconv将文件从GBK变为UTF-8.
使用命令 iconv -f GBK -t UTF-8 index.md > index-2.md 即可.
  • -f 指明输入编码
  • -t 指明输出编码
  • -l 列出支持的编码
  • -o 指明输出文件,但是msys的不能用该选项,请注意用管道代替.
判断文件类型可以使用file filename 来判断.msys显示echo出来中文输出格式为ISO-8859 text

No comments:

Post a Comment