phpMyAdmin
 sql >> база данни >  >> Database Tools >> phpMyAdmin

Защо таблицата CHARSET е настроена на utf8mb4 и COLLATION на utf8mb4_unicode_520_ci

В миналото имаше само utf8; в бъдеще, utf8mb4 ще бъде наборът от символи по подразбиране. сега utf8mb4 е наборът от символи по подразбиране.

В миналото _general_ci беше съпоставянето по подразбиране; след това _unicode_ci (Unicode 4.0) беше по-добър, след това _unicode_520_ci (Юникод 5.20). В бъдеще (MySQL 8.0) по подразбиране ще бъде _0900_ci_ai (Unicode 9.0).

Междувременно пътят е пълен с дупки, генерирани от минали грешки на MySQL. И WP дизайнерите карат в голям резервоар, който не забелязва дупките.

MySQL 5.6 беше голяма дупка, която погълна много потребители на WP поради ограничение от 767 за индекси заедно с WP индекси на твърде дългия VARCHAR(255) и възможността за използване на utf8mb4 . Вие сте доста над това, като имате 5.7.17. (Бъдещото ви преминаване към 8.0 ще бъде по-малко неравномерно.)

Тоест, новосъздадените бази данни/таблици/колони на 5.7.7+ не трябва да изпитват проблема 767, но нещата, мигрирали от по-стари версии (5.5.3+), може да имат проблеми, особено ако нещо ви кара да промените на utf8mb4.

Какво да правя? Вероятно ще ми свърши място, опитвайки се да изпиша всички опции. Затова предоставете историята на данните, пътя за надстройка (ако има такъв), текущите настройки, ROW_FORMAT от таблиците, CHARACTER SET и COLLATION от колоните, изходът на SHOW VARIABLES LIKE 'char%';

Къде трябва да бъдеш? За 5.7.7+, utf8mb4 и utf8mb4_unicode_520_ci където е практично. Този набор от знаци ви дава емоджи и целия китайски (utf8 не). Това съпоставяне е най-доброто налично, въпреки че може да ви е трудно да забележите къде има значение.

Забележка:първата част от името на съпоставянето е единственият набор от знаци, с който работи. Това е utf8_unicode_ci не работи с utf8mb4 .




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Защо имената на моите таблици се преобразуват в малки букви в phpmyadmin?

  2. phpmyadmin и външни ключове

  3. Как да промените паролата за MySQL конзолата в WAMP 2.5

  4. MySQL #2006 - MySQL сървърът е изчезнал в phpMyAdmin

  5. phpMyAdmin съобщава „Няма привилегии“