当前位置: 首页 > article >正文

GIT batch的支持中文的方法和系统建议

GIT batch是window下原生的GIT命令行终端,兼顾了GIT的命令特性,同时也支持很多UNIX的原生的bash交互方法。但是由于编码问题,在使用GIT bach的时候,用户可能会遇到中文支持的问题。这里简单介绍一下GIT batch在Windows系统下如何有效的支持中文显示的问题。闲言少叙,ICer GO!
在这里插入图片描述

GIT batch的GUI界面支持中文

GIT batch的GUI默认是英文界面,用户可以使用下列步骤启用中文GUI界面

  1. 在GIT batch空白处,右击鼠标,选择Option…

image-20241018145339983

  1. 在弹出的界面依次选择Window -> Ui language -> zh_CN

image-20241018145540776

3.返回GIT batch,再在空白处单击鼠标右键,这个时候可以看到GIT batch的GUI就是中文格式了。

image-20241018145811102

GIT batch的支持中文显示

GIT batch支持中文的前提是需要和系统的代码页保持一致。为了获取这个信息,这里有两个方法

  1. 通过txt 文本文件

    用户创建一个txt文本文文件,并简单书写一些中文文字,然后单击文件->另存为…,这个时候在界面里边会出现编码的选项。

    这个默认的编码来自于windows系统的区域配置(控制面板->区域,),中文区用户通常是:中文(简体,中国),这个信息很重要,所有的文件都是使用这个默认编码进行存储的,通常不建议修改,否则已经保存的文件可能都会出现编码问题。
    在这里插入图片描述
    记事本里边的另存为的ANSI编码是指:美国国家标准学会(American National Standards Institute),这个组织规定了不同国家的代码页(code page),这里给中国分配的是GBK,对应的代码页就是:936 (或者cp936). 通过这个信息可以看到,当前系统使用的代码页是GBK而非utf-8.

  2. 通过命令chcp查看

    打开cmd终端,使用chcp,可以查看到系统默认的编码方式

    image-20241018171232704

  3. 代码页对终端(terminal)的影响

    对于 windows系统,可以使用命令file查看一个文本文件的编码方式,譬如:

    image-20241018171623402

    PS:记事本之类的GUI程序·可以自动识别编码方式,双击文件都可以准确显示文件内容:

    image-20241018171800998

    但是对于终端(无论是cmd还是GIT batch),在同一时刻只能支持一种编码方式(即通过chcp返回的编码方式),这里的返回是936,所以只有text_ANSI.txt可以被正确显示:

    image-20241018172101464

    当然chcp也可以对当前终端的代码页进行更改(65001就是utf-8的代码页),以便正确显示对应代码页的文本内容
    image-20241018172305337

  4. GIT batch支持中文显示

    GIT batch也是一个终端,同样也受上述问题的影响,在GIT batch里边,可以使用file命令对文件进行编码方式的查询,如果不做干预,GIT batch 默认使用的是utf-8的代码页(65001),所以,默认会有下面的情形:

    • text_ANSI.txt不能正确显示,

    • text_utf-8.txt可以正确显示,

    image-20241018172958894

    由于GIT batch不能使用chcp命令改变代码页,用户如果需要在GIT batch显示ANSI编码方式的文件,需要采用下列方式进行文本的编码方式更改:选项 -> 文本 -> 本地 -> 字符集 (GBK就是:代码页936)

    image-20241018173329424

    这样就可以正确显示text_ANSI.txt文件了(对应的:text_utf-8.txt就不能正确显示了)

    image-20241018173740010

  5. GIT batch的消息打印和命令回显

GIT batch和VIM一样,默认使用的是utf-8的编码方式,如果直接使用ls等命令,GIT batch可以很好的显示中文字符。不足的是

  • 不能在终端中使用cat命令显示ANSI编码的文本
  • 不能使用VIM编辑ANSI编码的文本(VIM的默认编码也是utf-8

除过上述不便,其余都很丝滑。

PS:如果在GIT batch里边配置了GBK的编码页,除过catANSI编码的文件可以正常显示中文,其他所有命令的中文都会编程乱码

  1. python的对代码页的处理

在python里边,默认是使用系统的区域的编码对文件进行读取的,如果在GBK下,python是无法对utf-8的中文文件进行争取读取的,如果尝试读取,会有下面的问题

image-20241018184325920

这个时候可以使用open函数里边的encoding选项处理utf-8文件的读取:

image-20241018184452780
PS:终端打印和python是两个独立的系统,使用各自的方式处理代码页,互相独立,这里请不要混淆,

系统建议

对于中文windows系统,默认是GBK(代码页:936)的情形,但是对于常用的软件通常都是utf-8的默认编码,如果是终端类的工具,譬如:vim和GIT batch,可能对于ANSI的文件兼容性不好,这时候建议用户使用GVIM,记事本等GUI类的工具进行文本编辑。如果是python等编程工具,用户可以对目标文件的编码进行配置,这个并不需要调整原始文件的编码方式,

综上:系统中存在多个编码格式的文件本身就是常态,用户也不用去特意干预,但是但编辑、读取等操作的时候,需要采取正确的打开方式,保证正确的操作,这样才不会破坏原有的文本内容。


http://www.kler.cn/a/355303.html

相关文章:

  • react项目,通过自定义 separator 属性来修改日期选择器中间的分隔符:
  • I.MX6U 的 EPIT 定时器详解
  • Scrapy的Lambda函数用法:简化数据提取与处理的技巧
  • el-upload照片墙二次封装
  • golang 报错:invalid character ‘‘ looking for beginning of object key string
  • Mobile ALOHA 简介
  • 数据库管理-第252期 深入浅出多主多活数据库技术- Cantian存储引擎(二)(20241017)
  • K8s简介和安装部署
  • 嵌入式开发学习日记——数据结构基础
  • 算法——python实现堆排序
  • leetcode 47.全排列||
  • Flink简介及小案例
  • SpringBoot框架下购物推荐网站的设计模式与实现
  • 网络资源模板--Android Studio 实现简易新闻App
  • 10.15.2024刷华为OD C题型(二)
  • 怎么一键下载网页所有图片?3个方法轻松搞定
  • 论文笔记:D-vlog 用于抑郁症检测的多模态数据集
  • 智慧园区能带来哪些便利?
  • 基于SpringBoot+Vue+uniapp微信小程序的婚庆摄影小程序的详细设计和实现(源码+lw+部署文档+讲解等)
  • CentOS 7- 配置阿里镜像源