Một tiểu thư thú cưng của tôi đang xem xét rất nhiều dự án phần mềm có hàng núi mã để hỗ trợ bộ ký tự. Đừng hiểu sai ý tôi, tôi hoàn toàn tương thích và tôi rất vui khi các trình soạn thảo văn bản cho phép bạn mở và lưu tệp trong nhiều bộ ký tự. Điều làm tôi khó chịu là làm thế nào để phổ biến các bảng mã ký tự không phổ quát được gắn nhãn là hỗ trợ Unicode phù hợp Unicode thay vì một vấn đề khó khăn.
Ví dụ: hãy để tôi chọn PostgreSQL và hỗ trợ bộ ký tự của nó . PostgreSQL giao dịch với hai loại mã hóa:
- Mã hóa máy khách: Được sử dụng trong giao tiếp giữa máy khách và máy chủ.
- Mã hóa máy chủ: Được sử dụng để lưu trữ văn bản nội bộ trong cơ sở dữ liệu.
Tôi có thể hiểu tại sao hỗ trợ rất nhiều mã hóa của khách hàng là một điều tốt. Nó cho phép các máy khách không hoạt động trong UTF-8 giao tiếp với PostgreSQL mà không cần phải thực hiện chuyển đổi. Những gì tôi không nhận được là: tại sao PostgreQuery hỗ trợ nhiều mã hóa máy chủ ? Các tệp cơ sở dữ liệu (hầu như luôn luôn) không tương thích từ một phiên bản PostgreSQL sang phiên bản tiếp theo, vì vậy khả năng tương thích phiên bản chéo không phải là vấn đề ở đây.
UTF-8 là bộ ký tự tương thích tiêu chuẩn, tương thích ASCII duy nhất có thể mã hóa tất cả các điểm mã Unicode (nếu tôi sai, hãy cho tôi biết). Tôi ở trong trại rằng UTF-8 là bộ ký tự tốt nhất , nhưng tôi sẵn sàng đưa ra các bộ ký tự phổ quát khác như UTF-16 và UTF-32.
Tôi tin rằng tất cả các bộ ký tự không phổ quát nên được phản đối. Có bất kỳ lý do thuyết phục họ không nên?