我正在使用mercurial在win 7系统上对我的perl脚本进行版本控制。脚本是ÄÖÜäöü...
个文件。我激活了关键字扩展,以查看提交消息,...在文件本身。这很好用,期待一件小事。如果我在提交消息中有[web]
encoding = utf-8
之类的变音符号,我会看到类似的内容:
“xFC”(=ü)或“xE4”(=ä)作为替换关键字。
我发现的唯一一件就是这个,我把它放在我的mercurial配置中
{{1}}
但这没有用。如何强制mercurial用utf-8编码或我想要的任何其他编码替换关键字?
答案 0 :(得分:1)
我无法看到 now 以任何方式获得正确的结果,因为
last_log
)结果,我得到了(你不能阅读俄语块,但可以比较这些字符串之前和之后)
<强>来源
Country=RU
Name=Scartel-Yota
Site=http://www.yota.ru
Image=Scartel-Yota.bmp
City=Москва
扩展关键字(文件变为 ANSI编码)
// $last_log: Исправлено кодирование на UTF8 $
Country=RU
Name=Scartel-Yota
Site=http://www.yota.ru
Image=Scartel-Yota.bmp
City=РњРѕСЃРєРІР°
<强>Сonclusion强>
为了获得平滑的结果,您必须在插入UTF8-target之前将log-message重新编码为UTF8,例如
chcp 65001 && hg log -r tip -T "{desc|nonempty}"
但是我不能(不知道,如何)在关键字映射中使用任何 HG命令(chcp + log可以是shell-alias以实现可用性和可读性,但无论如何别名都可以'是关键字定义AFAICS的一部分)