Mysql
 sql >> база данни >  >> RDS >> Mysql

UTF-8:Генерал? Кошче? Unicode?

Като цяло, utf8_general_ci е по-бърз от utf8_unicode_ci , но по-малко правилно.

Ето разликата:

За всеки набор от символи в Unicode, операциите, извършени чрез съпоставяне _general_ci, са по-бързи от тези за съпоставяне _unicode_ci . Например, сравненията за съпоставянето utf8_general_ci са по-бързи, но малко по-малко коректни, отколкото сравненията за utf8_unicode_ci. Причината за това е, че utf8_unicode_ci поддържа съпоставяния като разширения; тоест, когато един знак се сравнява като равен с комбинации от други знаци. Например на немски и някои други езици „ß“ е равно на „ss“. utf8_unicode_ci също поддържа свивания и игнорирани знаци. utf8_general_ci е наследено съпоставяне, което не поддържа разширения, свивания или игнорирани знаци. Може да прави само едно към едно сравнения между героите.

Цитат от:http://dev.mysql. com/doc/refman/5.0/en/charset-unicode-sets.html

За по-подробно обяснение, моля, прочетете следната публикация от MySQL форумите:http:/ /forums.mysql.com/read.php?103,187048,188748

Що се отнася до utf8_bin:И двата utf8_general_ci и utf8_unicode_ci извършване на сравнение, независимо от главните букви. За разлика от това, utf8_bin е чувствителен към главни букви (наред с другите разлики), защото сравнява двоичните стойности на знаците.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не мога да се свържа с локален MySQL сървър чрез сокет '/var/lib/mysql/mysql.sock' (2)

  2. ТОП 5 Синтаксис за изтриване на MySQL със съвети за T-SQL разработчици

  3. mysql изберете горните n максимални стойности

  4. JSON_REPLACE() – Замяна на стойности в JSON документ в MySQL

  5. Разлики между MySql и MySqli в PHP