2009-08-05 13 views
27

Kiedy tworzę nową bazę danych MySQL przez phpMyAdmina, mam opcję wyboru sortowania (np. Domyślne, armiii8, ascii, ... i UTF-8). Ten, który znam, jest UTF-8, ponieważ zawsze widzę to w kodzie źródłowym HTML. Ale jakie jest domyślne sortowanie? Jakie są różnice między tymi wyborami, a których należy użyć?W MySQL, jakie sortowanie powinienem wybrać?

+0

jeśli chcesz bardziej dokładne, użyj utf8_unicode_ci. refer http://stackoverflow.com/questions/367711/what-is-the-best-collation-to-use-for-mysql-with-php –

+0

unicode_general_ci jest zalecane jeden na kodek wordpress: https: // codex. wordpress.org/Installing_WordPress – stare

Odpowiedz

15

Układanie nie jest tak naprawdę domyślne, ponieważ daje pierwszeństwo sortowania domyślnego.

To, o czym mówimy, to collation lub zestaw znaków, którego twoja baza danych użyje w swoich typach tekstu. Twoja domyślna opcja jest zwykle oparta na ustawieniach regionalnych, więc jeśli nie planujesz globalizacji, zwykle jest to brzoskwinia.

Skalowanie również określa wrażliwość na wielkość liter i akcentów (tj. "Jest" duża "==" duża "z wartością CI). Zapoznaj się z MySQL list dla wszystkich opcji.

+0

Co z UTF-8? Widziałem Wordpress za pomocą UTF-8? Czy powinienem używać UTF-8 ?? – bbtang

+0

UTF-8 to Unikod. Jeśli nie jesteś w kraju anglojęzycznym, bardzo dobrze jest z niego korzystać. – Eric

+4

Rozumiem. Nasz projekt jest skierowany do USA i całego świata, więc myślę, że byłoby lepiej, gdybyśmy używali UTF-8, czy mam rację? – bbtang

21

Sortowanie mówi bazie danych, jak wykonać dopasowanie i sortowanie ciągów. Powinien pasować do Twojego zestawu znaków.

Jeśli używasz UTF-8, sortowanie powinno być utf8_general_ci. Będzie to sortowanie w porządku Unicode (bez rozróżniania wielkości liter) i działa dla większości języków. Zachowuje również kolejność ASCII i Latin1.

Domyślne sortowanie jest zwykle łacińskie1.

+2

Nie używaj żadnych zestawień utf8. Przechowują tylko do 3 bajtowych punktów kodowych. Prawidłowy kodek UTF-8 nazywa się utf8mb4, który pozwala na maksymalnie 4 bajty i dlatego zawiera emoji. https://mathiasbynens.be/notes/mysql-utf8mb4 – user1318499

+0

@ user1318499 Czy możesz przekształcić swój komentarz w odpowiedź i podać więcej szczegółów? –

+0

Zapomniałem większości z tych rzeczy teraz, więc nie jestem pewny, że piszę więcej, ale wszystkie informacje powinny znajdować się w linku w moim komentarzu, jeśli chcesz samemu znaleźć odpowiedź. – user1318499