Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zestawienie MySQL do przechowywania wielojęzycznych danych w nieznanym języku

Powinieneś użyć sortowania Unicode. Możesz ustawić to domyślnie w swoim systemie lub w każdym polu twoich tabel. Istnieją następujące nazwy sortowania Unicode i to są ich różnice:

utf8_general_ci to bardzo proste zestawienie. Po prostu - usuwa wszystkie akcenty - następnie konwertuje na wielkie litery i używa kodu tego rodzaju "litery podstawowej" do porównania.

utf8_unicode_ci używa domyślnej tabeli elementów sortowania Unicode.

Główne różnice to:

  1. utf8_unicode_ci obsługuje tzw. rozszerzenia i ligatury, na przykład:niemiecka litera ß (U+00DF LETTER SHARP S) jest sortowana w pobliżu „ss” Litera Œ (U+0152 LATIN CAPITAL LIGATURE OE) jest sortowana w pobliżu „OE”.

utf8_general_ci nie obsługuje rozszerzeń/ligatur, sortuje wszystkie te litery jako pojedyncze znaki, a czasem w złej kolejności.

  1. utf8_unicode_ci to ogólnie dokładniejsze dla wszystkich skryptów. Na przykład w bloku cyrylicy:utf8_unicode_ci jest w porządku dla wszystkich tych języków:rosyjskiego, bułgarskiego, białoruskiego, macedońskiego, serbskiego i ukraińskiego. Podczas gdy utf8_general_ci jest w porządku tylko dla rosyjskiego i bułgarskiego podzbioru cyrylicy. Dodatkowe litery używane w białoruskim, macedońskim, serbskim i ukraińskim nie są dobrze posortowane.

+/- Wadą utf8_unicode_ci jest to, że jest nieco wolniejszy niż utf8_general_ci.

Więc w zależności od tego, czy wiesz, czy nie, jakich konkretnych języków/znaków będziesz używać, polecam użycie utf8_unicode_ci, który ma szerszy zasięg.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd składni Mysql podczas tworzenia procedury składowanej

  2. Jak zdalnie połączyć bazę danych MySQL za pomocą Python+SQLAlchemy?

  3. Jak używać klauzuli WITH w MySQL?

  4. Wybierz rekordy z TERAZ() -1 dzień

  5. Jak przekazać bieżącą wartość wiersza w trybie modalnym?