我正在做一个项目,它的文件编码不同.(我的操作系统是Centos 7)
例如,$SRC/a.cpp
可以用UTF-8编码,而$SRC/b.cpp
可以用GB 2312(简体中文)编码.
现在如果我输入git diff
,由于混合编码,内容将不能正确显示.
我试过iconv
个这样的了
git diff HEAD~1 | iconv -f gb2312 -t utf8 | less
如果所有涉及的文件都是以GB 2312编码的,它就能很好地工作.但如果任何UTF-8文件混合在一起,那么icv将像这样被 destruct
some well displayed UTF-8 text
...
iconv: illegal input sequence at position 120
我的问题是,是否有可能让像git diff
这样的命令在不更改文件本身的情况下正常工作?我希望可以有一些脚本过滤非UTF-8文件的iconv
或一些git
配置,可以运行iconv
只为非UTF-8文件.
Edit:这个项目的客户端要求一些文件有特定的编码,并希望尽可能少的更改以保持 solidity ,因此不可能直接修改文件的编码.最好是不修改项目的解决方法.