Por que o agrupamento padrão do MySQL é latin1_swedish_ci?


112

Qual é o raciocínio por trás da definição latin1_swedish_cicomo o padrão compilado quando outras opções parecem muito mais razoáveis, como latin1_general_ciou utf8_general_ci?


6
O sueco acabou de comprar essa honra [piada]
zerkms


1
Observe que utf8_general_cinão oferece suporte a UTF-8 de 4 bytes, portanto, para o suporte UTF-8 verdadeiro que você deseja utf8mb4_general_ciou uma das outras mb4variantes.
ColinM

Respostas:


109

O cara que escreveu era codiretor de uma empresa sueca .

Possivelmente por razões semelhantes, a linguagem padrão do Microsoft SQL Server us_english.


5
Ele é finlandês, mas finlandês e sueco compartilham quase os mesmos caracteres especiais, portanto, compartilham o mesmo agrupamento que não
diferencia

5
Falando sobre 'bons padrões'. O que isso, é claro, não é. Que bom ver isso depois de quanto, 20 anos? eles mudaram isso para um padrão lógico, como utf8_general_ci. Bom trabalho, MySQL!
Michael Trouw

2
e pensei que seria melhor para mim, mas não sou especialista. Minha enquanto a vida é uma mentira
Pablo Escobar

3
Sim, você está certo, Ele chamou MariDB (nome da esposa é Maria) e MaxDB (nome do filho é Max). mas por que ele deixou seu nome de filha ..! :) RI MUITO. !
Ajmal Praveen

90

latin1_swedish_cié um conjunto de caracteres de byte único, ao contrário utf8_general_ci.

Comparado a latin1_general_ciele, ele oferece suporte para uma variedade de caracteres extras usados ​​em idiomas europeus. Portanto, é a melhor escolha se você não souber que idioma usará, se estiver restrito a usar apenas conjuntos de caracteres de byte único.


36
Gosto desta resposta porque tenta justificar objetivamente a escolha do sueco latino. No entanto, a resposta aceita parece uma explicação mais plausível, de uma perspectiva social, para por que o sueco foi escolhido em particular.
Alan

2
Certamente é possível que esse seja o raciocínio do autor, e apenas uma coincidência que ele seja sueco. Parece razoável que um sueco queira (e saiba) oferecer suporte a caracteres europeus adicionais.
Matt

3
-1 A resposta aceita pode ser apenas uma opinião, mas é 100 vezes mais razoável do que esta resposta. Além disso, você pode ver que "o cara que escreveu" também chamou MariaDB em homenagem a sua filha e maxDB em homenagem a seu filho.
kommradHomer

2
"latin1_general_ci tem suporte para uma variedade de caracteres extras usados ​​em idiomas europeus" - Só para deixar isso claro, utf8_general_ci, ao contrário de utf8_unicode, tem um amplo suporte para caracteres específicos de idiomas europeus. Não vejo vantagem sobre "latin1_swedish_ci". Ou eu estou errado?
MEM

Por exemplo, CHAR (2) latin1 usa 2 bytes, CHAR (2) utf8mb4 (que é utf8 completo) usa 8 bytes. Eu uso latin1 para armazenar códigos de país de 2 dígitos porque nunca haverá caracteres não europeus
the_nuts
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.