小记之 Mac 控制台中文乱码的两个坑

栏目: 编程工具 · 发布时间: 5年前

内容简介:今天使用 Mac Terminal 时,解决了两个中文乱码的问题,记录一下。今天,整理博客文章的时候,发现 git status 展示中文名的文件出现了乱码。因为平时编程时,代码文件的名称基本都是英文,故而很少留意这个问题。默认的 git status 效果如下:在网上搜了些解决方案,发现只需要一个 git 配置就可以解决这个问题,配置命令如下:

今天使用 Mac Terminal 时,解决了两个中文乱码的问题,记录一下。

git status 中文乱码

今天,整理博客文章的时候,发现 git status 展示中文名的文件出现了乱码。因为平时编程时,代码文件的名称基本都是英文,故而很少留意这个问题。默认的 git status 效果如下:

On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        "\346\227\245\345\270\270/"

nothing added to commit but untracked files present (use "git add" to track)
复制代码

在网上搜了些解决方案,发现只需要一个 git 配置就可以解决这个问题,配置命令如下:

$ git config --global core.quotepath false
复制代码

关于这个选项的介绍,官方原文如下:

Commands that output paths (e.g. ls-files, diff), will quote "unusual" characters in the pathname by enclosing the pathname in double-quotes and escaping those characters with backslashes in the same way C escapes control characters (e.g. \t for TAB, \n for LF, \ for backslash) or bytes with values larger than 0x80 (e.g. octal \302\265 for "micro" in UTF-8). If this variable is set to false, bytes higher than 0x80 are not considered "unusual" any more. Double-quotes, backslash and control characters are always escaped regardless of the setting of this variable. A simple space character is not considered "unusual". Many commands can output pathnames completely verbatim using the -zoption. The default value is true.

大致意思似乎是, 为防止一些转义问题,大于 0x80 以上的编码被认为是 "unusual" ,需要 quote 起来。设置成 false 即以 UTF8 编码解析,解决乱码问题。

tree 目录树乱码

真是奇了,乱码与我为敌啊!今天又遇到第二个乱码问题,为了写文章时,屏幕展示区域多点,我就把 VS Code 的侧边栏关了,然后通过 tree 查看目录树,结果出现了如下的结果:

.
├── Go\ \210��\231
   └── Go\ \210��\231��\213HTTP请�\202\ QuickStart.md
├── Go\ \224
   ├── 详解\ Go\ \232\204\226\221\211��\214\201\213.md
   └── 为�\200\210\201\ Go.md
├── Go\ \217\237��\206
├── README.md
├── \227�常
   └── Mac\ \216��\210��\217�中�\226\207乱�\201\232\204两个�\235\221.md
└── \204
    ├── pm2\ \233\213管�\220\206工�\205�使�\224��\200��\223.md
    ├── \200\226\207精�\200\232\ crontab\ \216\205��\227��\210��\207��\235\221.md
    └── 快�\200\237\206\ kafka\ \237��\200\236��\236\204.md
复制代码

解决方式,通过 tree -N 即可解决。执行结果如下:

├── Go 爬虫
   └── Go 爬虫之HTTP请求 QuickStart.md
├── Go 笔记
   ├── 详解  Go  的编译执行流程.md
   └── 为什么要学 Go.md
├── Go 小知识
├── README.md
├── 日常
   └── Mac 控制台中文乱码的两个坑.md
└── 组件
    ├── pm2 进程管理 工具 使用总结.md
    ├── 一文精通 crontab 从入门到出坑.md
    └── 快速了解 kafka 基础架构.md
复制代码

看了选项的介绍,似乎是因为默认会将一些非打印字符按 ?处理,可以去看看 -q 选项。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

服务设计与创新实践

服务设计与创新实践

宝莱恩 (Andy Polaine)、乐维亚 (Lavrans Lovlie)、里森 (Ben Reason) / 王国胜、张盈盈、付美平、赵芳 / 清华大学出版社 / 2015-6-1 / CNY 69.00

产品经济的时代渐行渐远,在以服务为主导的新经济时代,在强调体验和价值的互联网时代,如何才能做到提前想用户之所想?如何比用户想得更周到?如何设计可用、好用和体贴的服务?这些都可以从本书中找到答案。本书撷取以保险业为代表的金融服务、医疗服务、租车及其他种种服务案例,从概念到实践,有理有据地阐述了如何对服务进行重新设计?如何将用户体验和价值提前与产品设计融合在一起? 《服务设计与创新实践》适合产品......一起来看看 《服务设计与创新实践》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具