База данни Encoding MySQL - как да го разпознаем и защо е необходим

Защо да кодира базата данни?

Просто искам да ви уверя, че ние нямаме "пиене" база там. Следователно, това кодиране не е свързано с прекомерна употреба на "упойващи" напитки. Напротив, всичко на базата данни са кодирани за потребителите (т.е. ти и аз) са в състояние да четат информацията, съдържаща се в тях. Ясно е, че не е ясно, а не половин литър не може да каже? , Нека да направим без него, докато в краен случай. Ще обясня всичко сега!

База данни Encoding MySQL - как да го разпознаем и защо е необходим

Рамковата YII2. Бързото развитие на съвременни PHP рамки

Изследване на съвременните рамкови уеб програмиране тънкостите използващи YII2

MySQL код, както и всяка друга информация в компютърна технология, се определя от комбинация от един и нулеви бита, които са. Вие си спомняте? Това е основите на компютърните науки, всички ние отиде на училище.

В света има много текстови кодировки (комбинации от 0 и 1), но в днешно време те са повече или по-стандартизирана. Въпреки че сега е възможно да се препънат по "Абракадабра", ако правилно зададете кодирането.

База данни Encoding MySQL - как да го разпознаем и защо е необходим

На този етап на развитие на World Wide Web е най-често срещаният тип на кодирането 3:

За нас най-важното кодирани данни MySQL е UTF-8. Това означава, че той използва 8-битов Unicode, която да представя всички герои. Благодарение на широката подкрепа на кодирането в интернет и на ниво приложение, можете да бъдете сигурни, че записите в базата данни ще се съхраняват в електронен формат (без "Абракадабра").

Къде да го търсим?

Малко по план през PhpMyAdmin интерфейс. Отивате на първа страница на програмата, обърнете внимание на раздела "Общи настройки".

База данни Encoding MySQL - как да го разпознаем и защо е необходим

В "Сравнение на връзка кодиране с MySQL» комплекти, с които кодиране трябва да се сравнява формат на данните, при свързване към сървъра на базата данни. В тази черупка програма за кодиране може да се настрои ръчно.

В "родния" Деинсталиране (mysqladmin, mysqlimport и други), кодиращи MySQL таблици, взети от настройките на операционната система на компютъра. В тяхно отсъствие е настроен по подразбиране. Най-често това кодиране Latin1.

При свързване към страничен клиент на базата данни с използване на стойностите на няколко системни променливи, се казва MySQL, какво кодиране да се използва при обработката и показването на данни от базата данни.

Системни променливи и техните стойности

MySQL архитектура се основава на "клиент-сървър". Системни променливи (или по-скоро техните стойности), използвани за инсталиране на клиент-сървър връзки и за правилното показване на всичко за обработка на данни и поддържане на мрежата сесия.

"И все пак," изберете "променлива", за да се запознае с поредица от стойности на променливи в системата от база данни PhpMyAdmin е необходимо в последния параграф от менюто горе.

База данни Encoding MySQL - как да го разпознаем и защо е необходим

База данни Encoding MySQL - как да го разпознаем и защо е необходим

Списък с всички променливи (включително и тези, които са необходими, за да изберете кодирането MySQL) може да бъде получена с покажи променливи команда.

База данни Encoding MySQL - как да го разпознаем и защо е необходим

Рамковата YII2. Бързото развитие на съвременни PHP рамки

Изследване на съвременните рамкови уеб програмиране тънкостите използващи YII2

База данни Encoding MySQL - как да го разпознаем и защо е необходим

Да се ​​върнем за да получите списък от променливи, и да се съсредоточи върху тези, които започват с набора от знаци. Кратко описание на тези, които могат да бъдат полезни:

character_set_client - кодиране е уточнено, в които ще дойдат на данни от страна на клиента.

character_set_connection - определя кодирането на връзката.

-set символи character_set_database, използвани в базата данни по подразбиране.

character_set_results - кодиране, в които сървърът изпраща данните към клиента.

character_set_server -ispolzuemaya подразбиране на сървъра.

Тук, преди описване на следваща група от променливи, необходими за това как да се научите кодиране на базата данни MySQL, трябва да се рови в теорията.

Чрез кодиране имаме предвид набор от знаци, използвани за определяне на структури от данни (бази данни, таблици, полета). Но има такова нещо като "производителност" (съпоставяне), което съответства на определен език и се използва за сравнение и поръчване на записи.

Например, там е UTF-8 кодиране. Има много идеи в един кодиране. Вие не може да се сравни данните "представи" в различни набори от символи. Това може да се извърши само в един единствен кодиране. 3 променливи като време и показват представяне.

База данни Encoding MySQL - как да го разпознаем и защо е необходим

Разрешени сравнения за конкретна кодиране на текущия сървър Например, можете да разберете с помощта шоу съпоставяне екип. Например:

База данни Encoding MySQL - как да го разпознаем и защо е необходим

Йерархията в набори знаци база данни

Encoding в MySQL, тъй като цялата структура на базата данни, са подредени йерархично. За всяка колона на таблицата, а основата може да се инсталира свой собствен набор от знаци. Ако не е посочено, че ще бъдат кодирани в по-високата елемент на йерархията. Например, ако не зададете кодирането за масата, за цялата си zaptsey използва набор от символи, определени за база данни.

Сега малко на каша и изпълнение на заявка, с която ние получаваме информация за кодиране на маса и всички нейни колони. В примера използвам една маса от света на базата данни:

База данни Encoding MySQL - как да го разпознаем и защо е необходим

Примерът показва, че -latin1 таблицата за кодиране MySQL. Нека се опитаме да го промените с помощта на командата алтер маса:

Сега ние отново ще покаже създавате, и да видим какво ще се случи:

База данни Encoding MySQL - как да го разпознаем и защо е необходим

Както можете да видите, кодирането променено на utf8. Но това не е достатъчно! Ние, крилат победа, ние Бързам да се гради върху успеха им, както и промяна на колоната име на набора знаци:

Отново проверка на кодирането на MySQL:

База данни Encoding MySQL - как да го разпознаем и защо е необходим

Тя се е променила до предварително определен. Е, достатъчно за днес! Ние сме с вас, MySQL бази данни, Основи на кодировки. Мисля, че минимум ще бъде достатъчно да не прибягва до "litroterapii". Както и да е, тази "терапия" е трудно да допринесе за решаването на всеки проблем.

База данни Encoding MySQL - как да го разпознаем и защо е необходим

Рамковата YII2. Бързото развитие на съвременни PHP рамки

Изследване на съвременните рамкови уеб програмиране тънкостите използващи YII2

Най-IT новини и уеб разработки на нашия канал Телеграма