【问题标题】:Git messages with french accents带有法语口音的 Git 消息
【发布时间】:2016-03-08 12:19:39
【问题描述】:

我过去常常用法语消息提交我的个人项目,包括 UTF-8 口音。

我在 Linux Arch 安装上处理这些项目,然后将它们拉到另一个新的 Arch 安装上。

但是现在当我想查看其中一个项目的 git 日志时,它并没有正确呈现法语口音。

选择提交的示例:

$ git log -n1 --pretty=format:"%h %s" 8e72413
8e72413 Ajout<C3><A9> le param<C3><A8>tre TabStop

但是当我使用cat 进行管道传输时,它就像一个魅力:

$ git log -n1 --pretty=format:"%h %s" 8e72413 | cat
8e72413 Ajouté le paramètre TabStop

当我使用 Vim 阅读它时,它也很好用,使用以下类似的命令:

:r! git log -n1 --pretty=format:"%h %s" 8e72413

如果我使用xtermurxvt,并且我的语言环境设置配置良好(以及我正在使用的旧安装)和LANG=fr_FR.UTF-8,则会发生同样的问题。当然,我的旧 Arch 安装仍然运行良好,没有这个问题,使用相同的存储库。

我错过了什么?我真的不记得我可以在旧安装上做些什么来使其正常工作。

【问题讨论】:

  • 查看您的less 配置。
  • lessLANG 环境变量统治,不是吗?如果我使用 less 查看带有重音字符的文件,它可以工作。但是git 还是不行
  • 你可能是对的,因为当我输入$ export GIT_PAGER=cat 时,它又可以工作了。我得看看,还不知道怎么设置lessgit
  • 好的,我找到了问题;待会儿会给出答案

标签: git utf-8 character-encoding


【解决方案1】:

问题是我的语言环境配置不是很好:

$ locale
LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=

我没有看到重点:LC_ALL 没有设置为 fr_FR.UTF-8


编辑:

实际上,问题比这更琐碎:我只是忘记了我添加了以下别名:alias git='LANG=en_US.UTF-8 git'

确实,更改LC_ALL 的值并不是解决办法。

我使用这个别名是因为vim-fugitive 不能很好地与以法语显示的git 配合使用...

【讨论】:

  • 抱歉挖掘了那个老话题,但我有完全相同的问题,无法解决。当我尝试做git log --graph --all --date=relative --pretty=tformat:'%Cred%h%Creset %s %Cgreen(%an %ad)%Creset' 时,我得到* f79f360 Cr&lt;C3&gt;&lt;A9&gt;e le serveur d'API avec les r&lt;C3&gt;&lt;A8&gt;gles de validation (J.M. Cl&lt;C3&gt;&lt;A9&gt;ry 22 minutes ago)。我已经尝试了上述所有解决方案,例如将所有语言环境设置为 fr_FR.UTF-8,甚至尝试使用别名:alias git='LANG=fr_FR.UTF-8 git',但我的消息仍然出现这些奇怪的字符。任何帮助表示赞赏。
  • @jmpp 如果您尝试了此线程上的所有解决方案,那么您应该提出一个新问题,也许可以通过在此处添加链接;确实 cmets 不是为此而设计的。与这个非常古老的线程相比,它还将增加您的问题的可见性。
  • 好吧,经过其他研究,我找到了我的解决方案,即删除我的 .zshrc 中的所有声明并运行sudo dpkg-reconfigure locales,然后选择“fr_FR-建议时使用 UTF-8"。之后运行 git log 命令给了我带有重音符号的消息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-08
  • 2013-01-31
  • 2014-06-30
相关资源
最近更新 更多