Tại sao đối chiếu mặc định của MySQL là latin1_swedish_ci?


112

Lý do đằng sau việc đặt latin1_swedish_cilàm mặc định đã biên dịch là gì khi các tùy chọn khác có vẻ hợp lý hơn nhiều, như latin1_general_cihoặc utf8_general_ci?


6
Thụy Điển vừa mua mà danh dự [đùa]
zerkms


1
Xin lưu ý rằng utf8_general_cikhông hỗ trợ UTF-8 4 byte, vì vậy để hỗ trợ UTF-8 thực sự mà bạn muốn utf8mb4_general_cihoặc một trong các mb4biến thể khác.
ColinM

Câu trả lời:


109

Người viết nó là đồng giám đốc của một công ty Thụy Điển .

Có thể vì những lý do tương tự, ngôn ngữ mặc định của Microsoft SQL Server là us_english.


5
Ông là Phần Lan, nhưng Phần Lan và Thụy Điển cổ phiếu hầu hết các nhân vật đặc biệt như nhau, do họ chia sẻ cùng một vụ án nhạy cảm đối chiếu
kommradHomer

5
Nói về 'mặc định tốt'. Mà điều này, tất nhiên, không. Thật tuyệt khi thấy điều đó sau 20 năm? họ đã thay đổi điều này thành một mặc định lành mạnh, giống như utf8_general_ci. Làm tốt lắm, MySQL!
Michael Trouw

2
và tôi nghĩ nó có thể là tốt nhất cho tôi, bc tôi không phải là chuyên gia. Cuộc sống trong khi tôi là một lời nói dối
Pablo Escobar

3
Có bạn đúng, Anh ấy tên MariDB (Vợ tên là Maria) và MaxDB (Tên con trai của anh ấy là Max). nhưng tại sao anh ấy lại để tên Con gái của mình ..! :) CƯỜI LỚN. !
Ajmal Praveen

89

latin1_swedish_cilà một bộ ký tự byte đơn, không giống như utf8_general_ci.

So với latin1_general_cinó có hỗ trợ cho một loạt các ký tự phụ được sử dụng trong các ngôn ngữ châu Âu. Vì vậy, đó là lựa chọn tốt nhất nếu bạn không biết mình sẽ sử dụng ngôn ngữ nào, nếu bạn bị hạn chế chỉ sử dụng các bộ ký tự byte đơn.


36
Tôi thích câu trả lời này vì nó cố gắng biện minh một cách khách quan cho sự lựa chọn của người Thụy Điển latin. Tuy nhiên, câu trả lời được chấp nhận dường như là một lời giải thích hợp lý hơn, từ góc độ xã hội, cho lý do tại sao người Thụy Điển được chọn nói riêng.
Alan

2
Chắc chắn có thể đây là lý do của tác giả, và chỉ là sự trùng hợp ngẫu nhiên khi anh ta là người Thụy Điển. Có vẻ hợp lý khi một người Thụy Điển muốn (và biết) hỗ trợ thêm các ký tự châu Âu.
Matt

3
-1 Câu trả lời được chấp nhận có thể chỉ là một ý kiến ​​nhưng nó hợp lý hơn câu trả lời này gấp 100 lần. Ngoài ra, bạn có thể thấy rằng "người viết nó" cũng đặt tên MariaDB theo tên daugther của anh ấy và maxDB theo tên con trai của anh ấy.
kommradHomer,

2
"latin1_general_ci nó hỗ trợ nhiều ký tự phụ được sử dụng trong các ngôn ngữ Châu Âu" - Chỉ để làm rõ điều này, utf8_general_ci, không giống như utf8_unicode, có hỗ trợ rộng rãi cho các ký tự cụ thể của ngôn ngữ Châu Âu. Tôi không thấy lợi thế hơn "latin1_swedish_ci". Hoặc là tôi sai?
MEM

Ví dụ: CHAR (2) latin1 sử dụng 2 byte, CHAR (2) utf8mb4 (là utf8 đầy đủ) sử dụng 8 byte. Tôi sử dụng latin1 để lưu trữ mã quốc gia gồm 2 chữ số vì sẽ không bao giờ có các ký tự không phải là châu Âu
the_nuts
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.