如何不将Unicode文本文件转换为UTF-8与cvs2svn



我使用cvs2svn工具将我的CVS数据库转换为SVN,但我所有的unicode文本文件都被更改为UFT-8,我不希望这样。

我怎样才能避免呢?是否有一个标志或参数来保存我的Unicode文件?

我假设您错误地将Unicode称为UTF-16LE。在cvs2svn中有一个选项,它在文档中:

--encoding=ENC

使用ENC作为CVS仓库中的文件名、日志消息和作者名称的编码。(通过使用——options文件,可以指定一组用于文件名的编码,另一组用于日志消息和作者名称。)此选项可以指定多次,在这种情况下,将按顺序尝试编码,直到一次成功为止。默认值:ascii。其他可能的值包括标准Python编码。

所以你可以尝试将--encoding=utf_16_le传递到命令行

Windows(误导性地)称为"Unicode"的编码是UTF-16LE。这是一个麻烦的编码,因为它不兼容ascii;Windows之所以采用它,是因为当时(在UTF-8发明之前)它被认为是Unicode文本最常用的编码。现在,UTF-8绝对是文件内Unicode存储的首选编码。

虽然dda的答案应该可以工作(+1),Subversion不支持将UTF-16文件作为文本处理-它们将作为二进制文件处理,这意味着您将无法获得可用的diff/patch/merge。出于这个原因,我强烈建议让cvs2svn继续并将文件更改为UTF-8。

最新更新