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

UTF-8:Ogólne? Kosz? Unikod?

Ogólnie utf8_general_ci jest szybszy niż utf8_unicode_ci , ale mniej poprawne.

Oto różnica:

W przypadku dowolnego zestawu znaków Unicode operacje wykonywane przy użyciu sortowania _general_ci są szybsze niż operacje wykonywane w przypadku sortowania _unicode_ci . Na przykład porównania dla sortowania utf8_general_ci są szybsze, ale nieco mniej poprawne niż porównania dla utf8_unicode_ci. Powodem tego jest to, że utf8_unicode_ci obsługuje mapowania, takie jak rozszerzenia; to znaczy, gdy jeden znak jest porównywany z kombinacjami innych znaków. Na przykład w języku niemieckim i niektórych innych językach „ß” jest równe „ss”. utf8_unicode_ci obsługuje również skróty i ignorowane znaki. utf8_general_ci to starsze zestawienie, które nie obsługuje rozwinięć, skurczów ani znaków, które można zignorować. Może dokonywać tylko porównań jeden-do-jednego między postaciami.

Cytat z:http://dev.mysql. com/doc/refman/5.0/en/charset-unicode-sets.html

Aby uzyskać bardziej szczegółowe wyjaśnienie, przeczytaj następujący post na forach MySQL:http:/ /forums.mysql.com/read.php?103,187048,188748

Co do utf8_bin:Oba utf8_general_ci i utf8_unicode_ci wykonaj porównanie bez rozróżniania wielkości liter. Dla kontrastu utf8_bin rozróżnia wielkość liter (między innymi), ponieważ porównuje wartości binarne znaków.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zapętlić zapytanie MySQL przez PDO w PHP?

  2. Przykłady UTC_TIME – MySQL

  3. Jak włączyć logi powolnych zapytań w AWS RDS MySQL?

  4. Zarządzaj MySQL za pomocą phpMyAdmin na Ubuntu 10.10 (Maverick)

  5. Czy istnieje sposób na pobranie identyfikatora autoincrement z przygotowanej instrukcji?