Encoding 命令行中mercurial编码的问题

Encoding 命令行中mercurial编码的问题,encoding,cmd,mercurial,tortoisehg,Encoding,Cmd,Mercurial,Tortoisehg,今天发生了两件事:(1)我的mercurial存储库的文件名为00changelog。我被破坏了;(2)mercurial在cmd内突然停止了英语 我不知道(1)或(2)是如何发生的,但我必须先修复(2)。我尝试重新安装/修理/拆卸/安装 顺便说一句,系统上的语言包不是英语的,但它在不久前还工作得很好 请提供帮助。Mercurial咨询了许多来源,了解其消息应该使用哪些本地化信息(通过GNU gettext库和一些Mercurial特定的管道):环境变量语言,LC\u ALL,LC\u消息(或

今天发生了两件事:(1)我的mercurial存储库的文件名为
00changelog。我
被破坏了;(2)mercurial在cmd内突然停止了英语

我不知道(1)或(2)是如何发生的,但我必须先修复(2)。我尝试重新安装/修理/拆卸/安装

顺便说一句,系统上的语言包不是英语的,但它在不久前还工作得很好


请提供帮助。

Mercurial咨询了许多来源,了解其消息应该使用哪些本地化信息(通过GNU gettext库和一些Mercurial特定的管道):环境变量
语言
LC\u ALL
LC\u消息
(或其他非消息用途的
LC.*
类别)和
LANG
。在Windows上,如果未设置上述任何环境变量,Mercurial也将参考
GetUserDefaultUILanguage()

将上面列表中的环境变量设置为
C
是强制Mercurial使用特定语言的最简单方法;Mercurial本身将
LANG
LC\u ALL
language
设置为
C
以运行其测试(类似于autoconf配置脚本如何将
LC\u ALL
语言设置为
C


或者,也可以完全从Mercurial安装中删除本地化文件,但这可能是最后的选择。

文件的编码是什么?这看起来Mercurial使用的本地化是非拉丁字符集(特别是日语、中文或俄语)。这可以由环境变量(
LANGUAGE
LANG
LC.*
)触发或者在Windows上也可以通过一些系统设置。您可以尝试设置
LC_ALL=C
,看看这是否有帮助。如果您不明白,只需从Mercurial安装中删除本地化消息也可以作为一种解决方法(因为它会返回到英语)@ Reimer-BeReNess感谢,创建语言环境变量,并将其设置为EnU.U.UTF-8解决了问题!请考虑记下一个小答案,以便我能接受它。