我有一個帶有UTF8編碼的瑞典字符的文件(åäö)。使git diff正確顯示UTF8編碼的字符
如果我cat
該文件顯示正常,但如果我做git diff
特殊字符被打印,例如,如< F6>。
例git diff
輸出:
- name: 'Magler<F6>d, S<F6>der<E5>sen',
我想看到什麼:
- name: 'Magleröd, Söderåsen',
我發現Git和相關的另一個問題編碼問題:git, msysgit, accents, utf-8, the definitive answers 它說,所有的問題應該是固定的混帳版本1.7.10。我有版本1.8.1.2
我該怎麼做才能讓git diff正常顯示åäö?
你確定你的文件是UTF-8嗎? 'xF6'是'ö'的ISO-8859-1代碼,'xE5'是'å'的代碼。 – matt
'file -bi filename.txt'給我 text/plain; charset = utf-8 – Tobbe
@Tobbe我懷疑'file'只是注意到它不是ASCII,並沒有進行任何廣泛的測試來驗證這是一個有效的UTF-8文件(如果實際字節值是0xf6和0xe5一樣,因爲緊隨其後的字節沒有第7位的設置,這將被要求成爲有效的UTF-8編碼點)。 '文件'可能只是「猜測」在UTF-8 - 我敢肯定,它不是循環所有可用的編碼和測試... – twalberg