utf8_unicode_ci или utf8_general_ci?

Суббота, 7 марта 2009

Какую таблицу из двух выбрать для своей базы данных в случае использования UTF?

utf8_general_ci
Убирает все акценты и приводит к верхнему регистру: ÀÁÅåāă = A, ü = U.
Не очень точно отрабатывает при сортировках. Иногда полезно при поиске. Быстрее utf8_unicode_ci.

Подходит для Русского. При использовании Белорусского и Украинского сортировка будет не верной.

utf8_unicode_ci
Довольно точно при сортировке и поиске. Например, ß (немецкий эсцет) будет при сортировке располагаться рядом с ss, как ему и положено. Медленнее utf8_general_ci.

Замечательно подходит для Русского, Белорусского и Украинского.

Итог
Если проект исключительно русскоязычный и скорость поиска и сравнения критична — можно остановится на utf8_general_ci. Если же есть планы по поддержке большего количества языков — лучше использовать utf8_unicode_ci.

Полные таблички utf8_unicode_ci и utf8_general_ci (там, кстати, и все остальные есть).

Тэги: , ,

Комментарии

#1 DeadLy 07.03.09, 11:52

Спс, буду знать!

#2 Виктор 07.03.09, 12:55

А какие будут проблемы с сортировкой в белорусском языке при использовании utf8_general_ci ?

#3 Sam 07.03.09, 13:27

Лично не проверял, но скорее всего проблема будет с сортировкой «і», которая будет рассматриваться как латинская «і» и соотвественно не будет стоять перед «й».

#4 Ярослав 08.03.09, 02:05

Я тоже за юникод. Все должно быть верно. Проблемы с сортировкой при использовании general - не допустимы.

#5 allmoney.ws 08.03.09, 12:56

Сейчас при подключении скриптов к базе стоит "latin1". Как можно конвертировать базу, содержащую много русского текста, в utf8_unicode_ci, чтобы ничего не испортилось?

#6 Sam 09.03.09, 00:24

allmoney.ws
А текст реально в какой кодировке?

#7 Risen 28.08.09, 17:01

А на сколько general быстрее unicode? На 1% или на 20%... будет ли ощутимая разница.
И еще хотелось бы узнать примеры неправильной сортировки украинского при utf8_general, может это не особо и важно.

#8 Sam 28.08.09, 17:27

Пример тут простой: «I» будет идти самой первой, а не как надо. Насчёт % — тут зависит от базы.

#9 Злодеяка 07.03.10, 10:49

Коротко и ясно! Спасибо большое!

Оставить комментарий




Подписаться на RSS

Интересное

Разделы

  1. (5)
  2. (11)
  3. (6)
  4. (9)
  5. (6)
  6. (6)
  7. (16)
  8. (60)
  9. (274)
  10. (52)
  11. (16)
  12. (12)
  13. (37)
  14. (6)
  15. (10)
  16. (14)
  17. (18)
  18. (16)
  19. (7)
  20. (8)
  21. (7)
  22. (7)
  23. (31)
  24. (76)
  25. (27)
  26. (68)
  27. (5)
  28. (203)
  29. (59)
  30. (6)
  31. (19)
  32. (73)
  33. (27)
  34. (70)
  35. (33)
  36. (10)
  37. (5)
  38. (6)
  39. (5)
  40. (341)
  41. (14)
  42. (11)
  43. (6)
  44. (13)
  45. (8)
  46. (18)
  47. (6)
  48. (15)
  49. (115)
  50. (18)
  51. (6)
  52. (9)
  53. (71)
  54. (16)
  55. (6)
  56. (25)
  57. (13)
  58. (5)
  59. (39)
  60. (7)
  61. (31)
  62. (7)
  63. (12)
  64. (11)
  65. (124)
  66. (34)
  67. (5)
  68. (18)
  69. (28)
  70. (9)
  71. (6)
  72. (8)
  73. (41)
  74. (10)
  75. (6)
  76. (12)
  77. (5)
  78. (9)
  79. (6)

Друзья