3.4.7 TortoiseGit的中文支持

虽然TortoiseGit在底层调用了msysGit,但是TortoiseGit的中文支持与msysGit是有区别的。前面在介绍msysGit的中文支持时所进行的配制会破坏TortoiseGit。

TortoiseGit在提交时会将提交说明转换为UTF-8字符集,因此无须对i18n.commitEncoding变量进行设置。相反,如果将i18n.commitEncoding设置为gbk或其他字符集,则在提交对象中会包含错误的编码设置,有可能会给提交说明的显示带来麻烦。

TortoiseGit在显示提交说明时认为所有的提交说明都是UTF-8编码,会转换为合适的Windows本地字符集显示,而无须设置i18n.logOutputEncoding变量。因为当前版本的TortoiseGit没有对提交对象中的encoding设置进行检查,所以使用GBK字符集的提交说明中的中文不能正常显示。

因此,如果需要同时使用msysGit的文字界面Git Bash和TortoiseGit,而且需要在提交说明中使用中文,可以安装两套msysGit,并确保TortoiseGit关联的msysGit没有对i18n.commitEncoding进行设置。

与msysGit一样,TortoiseGit对使用中文命名的文件和目录的支持,也存在缺陷,因此应当避免在msysGit和TortoiseGit中添加用中文命名的文件和目录,如果确实需要,可以使用Cygwin。