Tôi có một tệp có ký tự tiếng Thụy Điển trong đó (åäö) được mã hóa bằng UTF8.Làm cho git diff hiển thị các ký tự được mã hóa UTF8 đúng
Nếu tôi cat
tệp hiển thị tốt, nhưng nếu tôi làm git diff
, các ký tự đặc biệt sẽ được in, ví dụ: < F6>.
Ví dụ git diff
đầu ra:
- name: 'Magler<F6>d, S<F6>der<E5>sen',
Những gì tôi muốn xem:
- name: 'Magleröd, Söderåsen',
tôi tìm thấy một câu hỏi khác liên quan đến git và các vấn đề mã hóa: git, msysgit, accents, utf-8, the definitive answers Nó nói rằng tất cả những vấn đề cần được cố định trong git phiên bản 1.7.10. Tôi có phiên bản 1.8.1.2
Tôi có thể làm gì để làm cho git diff hiển thị đúng åäö?
Bạn có chắc chắn tệp của mình là UTF-8 không? 'xF6' là mã ISO-8859-1 cho' ö', và 'xE5' là mã cho' å'. – matt
'tệp -bi filename.txt' cung cấp cho tôi văn bản/đồng bằng; charset = utf-8 – Tobbe
@Tobbe Tôi nghi ngờ 'file' đơn giản nhận thấy rằng nó không phải là ASCII, và không thực hiện bất kỳ thử nghiệm mở rộng nào để xác minh đó là tệp UTF-8 hợp lệ (nó sẽ không được nếu giá trị byte thực là 0xf6 và 0xe5 như matt cho thấy, bởi vì các byte ngay lập tức sau không có bộ 7 bit, mà sẽ được yêu cầu phải là điểm mã UTF-8 hợp lệ). 'file' có thể chỉ" đoán "tại UTF-8 - Tôi chắc chắn nó không lặp qua tất cả các mã hóa và kiểm tra sẵn có ... – twalberg