MsysGit亂碼與跨平台版本管理

2021-05-24 05:21:59 字數 1116 閱讀 5119

從帖子

處摘抄提煉而來

原理:強制log統一使用utf-8編碼。

1.在 etc/gitconfig 中新增:

說明:1) gui.encoding = utf-8 解決在 $ git gui 和 gitk 裡中文亂碼。

2) i18n.commitencoding = utf-8 設定 commit log 提交時使用 utf-8 編碼,可避免伺服器上亂碼,同時與unix上的提交保持一致!

3) i18n.logoutputencoding = gbk 使得在 $ git log 時將 utf-8 編碼轉換成 gbk 編碼,解決 msys bash 中 $ git log 亂碼。

2.使得 $ git log 可以正常顯示中文(配合i18n.logoutputencoding = gbk),在 etc/profile 中新增:

網上流傳的方法都沒有使用logoutputencoding = gbk選項。

而我認為這才是最終解決中文commit log亂碼的根本方案。

msysgit的中文亂碼,有兩方面的原因:

1. msys bash不支援utf-8編碼的中文顯示,而且沒有自動將utf-8編碼轉換成gbk編碼的選項。

2. git gui無法自動檢測當前檔案編碼,導致只能由使用者指定:encoding = utf-8 ,弊端是非utf-8編碼的文字將顯示亂碼。

也鑑於這個原因,如果是開發跨平台專案,建議統一使用utf-8編碼,以盡可能的解決中文亂碼問題。

另外關於這個問題:請教如何在 msys 的 bash 中將所有輸出自動從 utf-8 轉換到gbk麼?

這個我不知能否做到,但是可以讓bash正確顯示utf-8字元。因為msys的bash和windows的cmd相關的,也是內含了windows的**頁。他預設的**頁是gbk的。

在bash裡輸入 

然後按alt-space,選擇屬性,在字型欄裡選擇字型為非點陣字型(在我這裡為consolas和lucida console字型),然後在bash裡輸入utf-8輸出的命令,你會發現就不會亂碼了。缺點是gbk輸出的就會亂碼。

msysGit 中文環境配置及跨平台開發注意事項

2019獨角獸企業重金招聘python工程師標準 注 因從 git v1.7.10 開始引入了 unicode 支援,所以在此版本之前會出現的亂碼問題可能在之後的版本則不需要設定,但仍存在一些亂碼問題,因此我仍然強烈推薦與 mintty 配合使用。git 是乙個非常不錯的分布式版本控制系統,雖然它最...

cordova 跨平台APP版本公升級

利用cordova ionic開發好專案,之後就是打包發布,在這之前,還要做乙個版本公升級的小功能。首先我們專案根目錄裡自然少不了配置 config.xml中 function onready popup.waitload 正在檢查是否有可更新版本 commonapi.getupgradeversi...

解決跨平台出現亂碼的問題

有時候我們需要將windows平台的檔案傳輸到linux平台上.但是普通的上傳對中文會出現亂碼情況.其實很簡單,只需一步即可.當我們用ftp上傳的時候會出現亂碼,在文字裡隨便寫幾個字,如圖所示.新建文字6 是我們要傳輸的檔案 在linux平台開啟後 當開啟檔案後,你一定很茫然,為什麼會有亂碼呢,不要...