• UTF-8编码终端下Git diff GBK编码文件乱码解决


    UTF-8编码终端下Git diff GBK编码文件乱码解决

    问题现象

    在Mac笔记本上喜欢使用iTerm2终端,配色比较漂亮养眼,同时考虑兼容性,默认终端环境编码采用UTF-8编码。
    平时处理代码时,会遇到使用GBK编码的文件,这时使用默认的git diff命令,可以显示出文件差异,但是由于编码
    差异,终端显示出来是乱码,如下:

    初步解决

    这个乱码问题的原因,是git通过diff正确输出了文件差异,但是终端无法正常显示GBK。因此想到了可以使用iconv对
    输出结果进行一次转换来正常显示,如下:

    优化进阶

    上面处理的方法,一个是比价麻烦,每次都需要输入很长的命令;另一个是没有高亮,不好看。
    所以考虑使用系统alias来解决,带参数的alias可以采用如下写法:

    alias gdg='git_diff_gbk() { git diff $@ | iconv -f gbk -t utf-8 | diff }; git_diff_gbk'

    之后就可以愉快的使用快捷命令gdg显示文件差异了:

  • 相关阅读:
    6、加法算术
    5、找出最大和最小的数
    4、计算并输出圆的面积和周长
    2、函数y=f(x)
    1、两数的平方和
    单片机中断寄存器知识点总结
    创建PCB原理图的模板
    电机知识
    结合实例谈谈航拍全景的方法和技巧
    航拍技巧
  • 原文地址:https://www.cnblogs.com/Mr-Koala/p/14636585.html
Copyright © 2020-2023  润新知