3

这是我现在在 git 日志中看到的内容:

commit d0ed97d243eaf905b03244a4d1ba6af26213e4ad
Author: some guy <someone@somesite.com>
Date:   Mon Jun 3 11:22:06 2013 +0900

<E3><83><98><E3><83><83><E3><83><80><E3><81><AE><E3><83><A6><E3><83><BC><E3><82><B6><E3><82><A2><E3><82><A4><E3><82><B3><E3><83><B3><E8><A1><A8><E7><A4><BA>

提交是由一些日文字符组成的。

我已经将我的 LANG 环境更改为 ja_JP.UTF-8、en_US.UTF-8、ja_JP.eucJP:

$ export LANG=ja_JP.UTF-8

但没有任何效果。

希望有人知道并给我一些分数。谢谢。


更新(解决方案 1):

最后,我设法通过在本地环境(MacOS)中SendEnv LANG LC_*注释掉文件中的行来显示这些日文字符。/etc/ssh_config但我不认为我解决了这个问题。我想我只是切断了将 LANG 的设置发送到服务器端(CentOS)的方式。所以基本上,本地环境中的 LANG 设置仍然混乱,因为当我$ locale在本地环境(mac)中尝试时,它显示以下设置:

LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

这显然是一个不合适的设置。
我仍在目瞪口呆......


更新(解决方案2):

我终于找到了“语言环境”问题的解决方案,
这是我找到的链接:如何修复 Mac OSX 终端中的语言环境问题
感谢这里所有人的帮助。

4

1 回答 1

7

确保您的系统正确支持 UTF-8。大多数 Ubuntu 和 Fedora 机器都可以。如果您使用的是终端或 ssh 会话,请确保您的 ssh 客户端配置为一直使用UTF-8。例如,如果使用putty,请务必将其配置为UTF-8在首选项中使用编码 - 这不是默认设置。

我在这个 Fedora 16 机器上有相对较旧的 git 版本 1.7.7.6,但它似乎工作得很好,只要我正确设置我的语言环境:

$ export LANG=en_US.UTF-8
$ git log
commit 40b8cb9fc58775826a511c5338370f7fd1454481
Author: some guy <someone@somesite.com>
Date:   Wed Jun 5 22:57:10 2013 -0700

welcome
привет
ヘッダのユー

如果我将语言环境设置为日语,它仍然可以正常工作:

$ export LANG=ja_JP.UTF-8
$ git log
commit 40b8cb9fc58775826a511c5338370f7fd1454481
Author: some guy <someone@somesite.com>
Date:   Wed Jun 5 22:57:10 2013 -0700

welcome
привет
ヘッダのユー

但如果我将语言环境设置为 Posix ( C),它就会中断:

$ export LANG=C
$ git log
commit 40b8cb9fc58775826a511c5338370f7fd1454481
Author: some guy <someone@somesite.com>
Date:   Wed Jun 5 22:57:10 2013 -0700

welcome
<D0><BF><D1><80><D0><B8><D0><B2><D0><B5><D1><82>
<E3><83><98><E3><83><83><E3><83><80><E3><81><AE><E3><83><A6><E3><83><BC>

作为参考,这是工作区域设置的样子:

$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
于 2013-06-06T06:16:25.200 回答