是否有專門的Mercurial配置屬性,用於指定文件內容的編碼,因此Mercurial客戶端應該使用它來正確顯示文件?Mercurial:哪個config屬性控制文件內容的編碼?
我發現web.encoding
這似乎並不意味着正是我要找的。此外,Google也給出了ui.encoding
的一些結果,但是我在參考文獻中找不到任何提示。
是否有專門的Mercurial配置屬性,用於指定文件內容的編碼,因此Mercurial客戶端應該使用它來正確顯示文件?Mercurial:哪個config屬性控制文件內容的編碼?
我發現web.encoding
這似乎並不意味着正是我要找的。此外,Google也給出了ui.encoding
的一些結果,但是我在參考文獻中找不到任何提示。
水銀關心的不是你把你的資料庫文件的編碼:Mercurial是高興地存儲與任何編碼文件(或許不是特別編碼)。
這意味着您可以使用UTF-8,拉丁1或任何其他編碼到你的倉庫和Mercurial會檢查出來,當你加入他們,正是因爲他們是添加文件。
每個文件的編碼不存儲在水銀,它是由客戶端識別編碼(也許是基於文件內容的地方是有道理的,例如,用於XML文件)。
對於水銀桌面客戶端(如按照下面的評論)我建議您查看文件內容:
NUL
字節?然後停下來宣佈它是「二元」。的UTF-16和UTF-8編碼是好的,因爲它們是結構化的,這使得它可能爲你檢測到一個文件不是有效UTF-8編碼,說。上面的列表是用歐洲的觀點寫的 - 你應該也可以諮詢有關Shift JIS和其他在亞洲使用的編碼知識的人。
在任何情況下,我只會想到一個水銀客戶端在向我展示與非ASCII編碼文件盡最大努力嘗試。
你的問題的一些不同的解釋:
如果你真的問如何讓你的文件看起來「正確的」,當你在hgweb
查看它們,那麼它的使用的問題存儲庫中的一致編碼和setting `web.encoding。
如果你真的問如何確保文本文件獲得(在Windows \n
在Unix,\r\n
)結束在不同平臺上的字符操作系統自然行看看隨水銀的eol extension時。
在編寫桌面Mercurial客戶端時,在顯示文件內容時是否也會使用'web.encoding'?或者你會在.hg/hrgc(或〜/ .hgrc)中引入一些新的設置? – mstrap 2013-05-14 12:59:35
我會讓客戶端首先嚐試'UTF-8',然後在'Latin-1'上回退,或者只是將文件中的字節提供給用於顯示文本的任何窗口小部件。這些小部件通常會顯示一個特殊的字形,用於無法解碼的字節。 – 2013-05-16 14:47:49