我们首先假设我使用 utf-8 作为默认值:
LESSCHARSET=UTF-8
LANG=en_US.UTF-8
现在,让我们考虑一下这个例子:
git init
touch unicode latin
git add unicode latin
echo "Déjà-vu" > unicode
iconv -f utf-8 -t latin1 unicode > latin
git --no-pager diff
我会得到:
diff --git a/latin b/latin
index e69de29..cc65db5 100644
--- a/latin
+++ b/latin
@@ -0,0 +1 @@
+D<E9>j<E0>-vu
diff --git a/unicode b/unicode
index e69de29..58804c6 100644
--- a/unicode
+++ b/unicode
@@ -0,0 +1 @@
+Déjà-vu
当然,如果我将$LANG
设置为latin1,我会遇到与latin1
无法读取Déjà-vu相反的问题。
如何告诉Git自动将文件编码调整为常用 输出编码?