Windows 将Subversion提交消息转换为Unicode

Windows 将Subversion提交消息转换为Unicode,windows,svn,encoding,utf-8,cp1251,Windows,Svn,Encoding,Utf 8,Cp1251,目前,我有一个本地Subversion存储库,其中包含大量采用cp1251编码的提交消息 是否有任何方法可以将所有提交消息转换为utf-8编码?您的提交消息: Subversion在内部以UTF-8编码的Unicode格式处理某些数据位,例如属性名、路径名和日志消息。不过,这并不是说您与Subversion的所有交互都必须涉及UTF-8。作为一般规则,Subversion客户端将优雅而透明地处理UTF-8和计算机上使用的编码系统之间的转换,如果这种转换可以有意义地完成(这是目前使用的最常见编码的

目前,我有一个本地Subversion存储库,其中包含大量采用
cp1251
编码的提交消息

是否有任何方法可以将所有提交消息转换为
utf-8
编码?

您的提交消息:

Subversion在内部以UTF-8编码的Unicode格式处理某些数据位,例如属性名、路径名和日志消息。不过,这并不是说您与Subversion的所有交互都必须涉及UTF-8。作为一般规则,Subversion客户端将优雅而透明地处理UTF-8和计算机上使用的编码系统之间的转换,如果这种转换可以有意义地完成(这是目前使用的最常见编码的情况)


但是,如果您以某种方式对它们进行了双重编码,那么假设您使用的是FSFS样式的存储库,最简单的方法可能是浏览存储库下方的所有revprop文件,然后使用正确的编码重新编写它们,例如使用。(注意,这些文件应该有Unix行结尾,即LF而不是CRLF)。

正如Rup-8所说,subversion应该在将所有日志消息存储在存储库中之前将其转换为UTF-8,并返回到本地编码以供显示。如果未正确转换日志消息,请执行以下操作之一:

  • 确保您的区域设置正确标识您正在使用的编码;或者
  • 使用--message编码选项

我在查看
revs
目录,而不是
revprops
目录,在该目录中,日志消息确实存储为UTF-8。看起来我遇到的问题实际上是一个控制台工具不能正确使用UTF-8。对于输出的输入?如果输入,那么您可能需要
——编码,正如mazaneicha所说;对于输出,您可能会更好地使用
--xml
输出,它(应该是!)始终是UTF-8。看起来这实际上是一个控制台工具没有正确处理UTF-8的问题,而不是SVN存储库本身的问题。