2011-11-07 33 views
13

Tại sao UTF-8 không mã hóa mặc định cho GitHub?GitHub: Sử dụng mã hóa UTF-8 cho các tệp

Điều đó có nghĩa là có bất kỳ hạn chế nào để thay đổi từ mặc định "cp1252"?

Có liên quan gì đến việc sử dụng GitHub trên các nền tảng giữa Windows và Mac OSX không?

Câu hỏi được hỏi khi sử dụng GitHub, nhưng có thể được hỏi về Git nói chung.

Tôi chủ yếu làm phát triển trong .NET, HTML5 và Javascript, nếu có vấn đề trong chủ đề.

+3

Github quan tâm đến việc mã hóa nội dung của bạn là gì? –

+0

Bạn có thể vui lòng chỉ ra chính xác bạn đang xem mã hóa mặc định ở đâu không? –

+0

@ MichaelKrelin-hacker Tôi không muốn kiểm tra trong một tập tin từ Mac OSX của tôi và tìm thấy nó với hình vuông và nhân vật bị hỏng trên máy Windows của tôi. Hoặc ngược lại. –

Trả lời

15

Đoán ngẫu nhiên: bạn có đang sử dụng TortoiseGit không? Đó có phải là bạn đang thấy một bộ mã hóa mặc định được đặt thành cp1252 không?

Nếu có, chỉ đơn giản là TortoiseGit sử dụng mã hóa mặc định của cài đặt Windows của bạn.

Edit: Chính xác điều này cũng đúng cho Git GUI

Dưới đây là một discussion from a git developer's mailing list đưa ra một lời giải thích:

  • Hãy diffs và mặc định đổ lỗi cho hệ thống (locale) mã hóa thay vì mã hóa cứng UTF-8.
  • Thêm tùy chọn gui.encoding để cho phép ghi đè.
  • gitattributes vẫn có từ cuối cùng.

Lý do cho điều này là Windows hỗ trợ:

  1. người của Windows quen với việc sử dụng mã hóa di sản cho văn bản tập tin. Đối với nhiều người trong số họ mặc định là utf-8 sẽ là phản trực giác.
  2. Windows không hỗ trợ ngôn ngữ utf-8 và chuyển đổi mã hóa hệ thống là một nỗi đau thực sự. Vì vậy, tùy chọn.
+2

Dude, bạn mất bao lâu? Bây giờ tôi biết, nó hoàn toàn được giải thích và tôi có thể tìm thấy nó khi Googling nó.Với lịch sử đằng sau quyết định và không chỉ đơn giản là "chỉ bỏ qua nó và tiếp tục", điều đó không mang tính xây dựng. Cảm ơn –

+1

Xin chào Michael, bạn có thể chỉnh sửa câu trả lời của mình không. Làm thế nào để giải quyết nó? bước tôi cần làm là gì? Cảm ơn! – Shiro

+0

@Shiro: bạn có thể đặt mã hóa trên toàn cầu bằng git-config hoặc mỗi đường dẫn bằng gitattributes. Tham khảo manpages để biết các lệnh đó để biết chi tiết. –

Các vấn đề liên quan