База данни Encoding MySQL - как да го разпознаем и защо е необходим
Защо да кодира базата данни?
Просто искам да ви уверя, че ние нямаме "пиене" база там. Следователно, това кодиране не е свързано с прекомерна употреба на "упойващи" напитки. Напротив, всичко на базата данни са кодирани за потребителите (т.е. ти и аз) са в състояние да четат информацията, съдържаща се в тях. Ясно е, че не е ясно, а не половин литър не може да каже? , Нека да направим без него, докато в краен случай. Ще обясня всичко сега!
Рамковата YII2. Бързото развитие на съвременни PHP рамки
Изследване на съвременните рамкови уеб програмиране тънкостите използващи YII2
MySQL код, както и всяка друга информация в компютърна технология, се определя от комбинация от един и нулеви бита, които са. Вие си спомняте? Това е основите на компютърните науки, всички ние отиде на училище.
В света има много текстови кодировки (комбинации от 0 и 1), но в днешно време те са повече или по-стандартизирана. Въпреки че сега е възможно да се препънат по "Абракадабра", ако правилно зададете кодирането.
На този етап на развитие на World Wide Web е най-често срещаният тип на кодирането 3:
За нас най-важното кодирани данни MySQL е UTF-8. Това означава, че той използва 8-битов Unicode, която да представя всички герои. Благодарение на широката подкрепа на кодирането в интернет и на ниво приложение, можете да бъдете сигурни, че записите в базата данни ще се съхраняват в електронен формат (без "Абракадабра").
Къде да го търсим?
Малко по план през PhpMyAdmin интерфейс. Отивате на първа страница на програмата, обърнете внимание на раздела "Общи настройки".
В "Сравнение на връзка кодиране с MySQL» комплекти, с които кодиране трябва да се сравнява формат на данните, при свързване към сървъра на базата данни. В тази черупка програма за кодиране може да се настрои ръчно.
В "родния" Деинсталиране (mysqladmin, mysqlimport и други), кодиращи MySQL таблици, взети от настройките на операционната система на компютъра. В тяхно отсъствие е настроен по подразбиране. Най-често това кодиране Latin1.
При свързване към страничен клиент на базата данни с използване на стойностите на няколко системни променливи, се казва MySQL, какво кодиране да се използва при обработката и показването на данни от базата данни.
Системни променливи и техните стойности
MySQL архитектура се основава на "клиент-сървър". Системни променливи (или по-скоро техните стойности), използвани за инсталиране на клиент-сървър връзки и за правилното показване на всичко за обработка на данни и поддържане на мрежата сесия.
"И все пак," изберете "променлива", за да се запознае с поредица от стойности на променливи в системата от база данни PhpMyAdmin е необходимо в последния параграф от менюто горе.
Списък с всички променливи (включително и тези, които са необходими, за да изберете кодирането MySQL) може да бъде получена с покажи променливи команда.
Рамковата YII2. Бързото развитие на съвременни PHP рамки
Изследване на съвременните рамкови уеб програмиране тънкостите използващи YII2
Да се върнем за да получите списък от променливи, и да се съсредоточи върху тези, които започват с набора от знаци. Кратко описание на тези, които могат да бъдат полезни:
character_set_client - кодиране е уточнено, в които ще дойдат на данни от страна на клиента.
character_set_connection - определя кодирането на връзката.
-set символи character_set_database, използвани в базата данни по подразбиране.
character_set_results - кодиране, в които сървърът изпраща данните към клиента.
character_set_server -ispolzuemaya подразбиране на сървъра.
Тук, преди описване на следваща група от променливи, необходими за това как да се научите кодиране на базата данни MySQL, трябва да се рови в теорията.
Чрез кодиране имаме предвид набор от знаци, използвани за определяне на структури от данни (бази данни, таблици, полета). Но има такова нещо като "производителност" (съпоставяне), което съответства на определен език и се използва за сравнение и поръчване на записи.
Например, там е UTF-8 кодиране. Има много идеи в един кодиране. Вие не може да се сравни данните "представи" в различни набори от символи. Това може да се извърши само в един единствен кодиране. 3 променливи като време и показват представяне.
Разрешени сравнения за конкретна кодиране на текущия сървър Например, можете да разберете с помощта шоу съпоставяне екип. Например:
Йерархията в набори знаци база данни
Encoding в MySQL, тъй като цялата структура на базата данни, са подредени йерархично. За всяка колона на таблицата, а основата може да се инсталира свой собствен набор от знаци. Ако не е посочено, че ще бъдат кодирани в по-високата елемент на йерархията. Например, ако не зададете кодирането за масата, за цялата си zaptsey използва набор от символи, определени за база данни.
Сега малко на каша и изпълнение на заявка, с която ние получаваме информация за кодиране на маса и всички нейни колони. В примера използвам една маса от света на базата данни:
Примерът показва, че -latin1 таблицата за кодиране MySQL. Нека се опитаме да го промените с помощта на командата алтер маса:
Сега ние отново ще покаже създавате, и да видим какво ще се случи:
Както можете да видите, кодирането променено на utf8. Но това не е достатъчно! Ние, крилат победа, ние Бързам да се гради върху успеха им, както и промяна на колоната име на набора знаци:
Отново проверка на кодирането на MySQL:
Тя се е променила до предварително определен. Е, достатъчно за днес! Ние сме с вас, MySQL бази данни, Основи на кодировки. Мисля, че минимум ще бъде достатъчно да не прибягва до "litroterapii". Както и да е, тази "терапия" е трудно да допринесе за решаването на всеки проблем.
Рамковата YII2. Бързото развитие на съвременни PHP рамки
Изследване на съвременните рамкови уеб програмиране тънкостите използващи YII2
Най-IT новини и уеб разработки на нашия канал Телеграма