gpt4 book ai didi

svn - 命令行重定向在输出中丢失重音

转载 作者:行者123 更新时间:2023-12-04 19:37:28 25 4
gpt4 key购买 nike

我想从我的 svn 项目中获取所有日志并将其输出到一个文件中。问题是有时注释是用法语写的,带有重音“é”、“à”等。

当我使用这个命令时:

svn log svn://mysvnserver/mysite/trunk

dos 窗口中的输出正常。存在重音符号。

但是当我将输出重定向到这样的文件时

svn log svn://mysvnserver/mysite/trunk > C:\releaseNotes.txt

所有重音都丢失了,为什么?

我什至强制文件为 utf-8,但只要我运行命令行,文件就会强制返回 ANSI,使重音变得不可读。

我该怎么办?

最佳答案

首先,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 写入这样的文件,但到目前为止没有取得太大成功,尽管我成功地打开了日志窗口。

啊哈,但是,您可以 做的是使用 --xml 选项,然后解析 XML 以获取您想要的数据。 XML 文件使用 UTF-8 编码并且不会破坏字符。虽然它更复杂,但如果您有 PowerShell 供您使用,那么复制基于 XML 的正常输出应该相当容易。

关于svn - 命令行重定向在输出中丢失重音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7663717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com