我想从我的svn项目中获取所有日志并将其输出到文件中。问题是,有时候这些音符是用法语写的,并且有“é”,“à”等字样。
当我使用此命令时:
svn log svn://mysvnserver/mysite/trunk
dos窗口中的输出很好。口音有。
但是当我将输出重定向到像这样的文件时
svn log svn://mysvnserver/mysite/trunk > C:\releaseNotes.txt
所有口音都丢失了,为什么?
我甚至强制文件在utf-8中,但是一旦我运行命令行,文件就会被强制回ANSI,使得重音不可读。
我该怎么办?
答案 0 :(得分:2)
首先,Subversion命令行客户端在Windows上显示和处理非ASCII字符时存在很多问题。作者认为这不是一个大问题,因为显然需要处理超过ASCII的人是一个白痴,特别是如果他们在Windows上。它有时以奇怪的方式表现出来:
S:\Joey\Wikipedia Work\Flags>svn log "Flag of Čáslav.svg"
svn: 'Flag of Cáslav.svg' is not under version control
...即使文件在存储库中。很长一段时间后,作者放弃了实际支持的非ASCII字符,而是通过剥离重音等将所有内容转换为ASCII / Latin 1来选择忽略/修复问题(请注意上例中的Č与C)侧面显示问题。我可以尝试找到那种再次关闭的错误报告,但已经有一段时间了。
编辑:使用cmd /u
不起作用;重定向文件仍然只有CP1252编码。
即使我成功打开了日志窗口,我仍然试图哄骗TortoiseSVN编写这样一个文件但到目前为止没有太大成功。
Aaah,您可以做的是使用--xml
选项,然后解析XML以获取所需的数据。 XML文件使用UTF-8编码,不会破坏字符。但是它更复杂,但是如果您可以使用PowerShell,那么基于XML复制正常输出应该相当容易。
答案 1 :(得分:0)
Doyou知道chcp DOS命令吗?
在svn登录bat-file
之前使用它(使用正确的字符集)