2013-06-05 20 views
1

我用cvs2svn工具將我的CVS數據庫轉換爲SVN,但是我所有的unicode文本文件都被更改爲UFT-8,我不想那樣做。如何不使用cvs2svn將Unicode文本文件轉換爲UTF-8?

我該如何避免這種情況?是否有一個標誌或參數來保存我的Unicode文件?

+1

你意識到Unicode不是一種編碼,而且UTF-8是Unicode的一部分? – dda

回答

2

我認爲你錯誤地稱爲Unicode是UTF-16LE。有一個在cvs2svn一個選項,它的文檔中:

--encoding=ENC 

使用ENC作爲編碼的文件名,日誌消息和作者姓名在CVS回購。 (通過使用--options文件,可以指定一組編碼用於文件名,第二組編碼用於記錄消息和作者姓名。)此選項可以指定多次,在這種情況下,編碼將在直到一個成功。默認:ascii。其他可能的值包括標準的Python編碼。

所以你可以嘗試通過--encoding=utf_16_le到命令行。

1

編碼Windows(誤導性)指的是「Unicode」是UTF-16LE。這是一個麻煩的編碼,因爲它不是ASCII兼容的; Windows採用它是因爲當時(在UTF-8發明之前)它被認爲是Unicode文本最常見的編碼。今天,UTF-8絕對是文件Unicode存儲的首選編碼。

儘管dda的答案應該可以工作(+1),但Subversion不支持將UTF-16文件作爲文本處理 - 它們將作爲二進制文件處理,這意味着您將無法使用diff/patch/merge。出於這個原因,我強烈建議讓cvs2svn繼續並將文件更改爲UTF-8。