SVN预提交挂钩编码

问题描述

我正在使用Python脚本来实现SVN预提交钩子:
svnlookPath = \'path-to-svnlook\'

f = subprocess.Popen([svnlookPath,\'log\',sys.argv[1],\'--transaction\',sys.argv[2]],stdout=subprocess.PIPE).stdout
commitMessage = f.read()
f.close()
commitMessage = commitMessage.rstrip(\'\\n\\r\')

print >> sys.stderr,\'Commit message: \"\' + commitMessage + \'\"\'
sys.exit(1)
我的pre-commit.bat(服务器托管在Windows Server 2008上):
@python.exe path-to-py-file %1 %2
在客户端,我使用TortoiseSVN。 除提交消息编码外,其他一切正常。例如,如果提交消息包含俄语字母,它们将在Tortoise窗口中显示为\'?\'(问号)。     

解决方法

        我想说的是
.bat
而不是python脚本的错,因为python具有出色的unicode支持。 也许这个问题的答案可以帮助您。 批处理文件编码     ,        问题可能出在乌龟本身。尝试以下 svn日志http:// rev_url 并查看svn表示日志注释是什么。如果正确,则可能是乌龟没有显示俄语编码。如果在没有预提交钩子的情况下提交,会发生什么?显示正确吗?