Baza de date MySQL Encoding - cum să-l recunoască și de ce este nevoie

De ce codifica baza de date?

Vreau doar să vă asigur că nu avem nici o „băutură“ de bază acolo. Prin urmare, această codificare nu este legată de utilizarea excesivă a băuturilor „imbatator“. Dimpotrivă, toate bazei de date sunt codificate pentru utilizatori (de exemplu, tu și eu) sunt în măsură să citească informațiile conținute în ele. Este clar că nu este clar, și nici o jumătate de litru nu se poate spune? . Hai să facem fără ea până la o ultimă soluție. Voi explica totul acum!

Baza de date MySQL Encoding - cum să-l recunoască și de ce este nevoie

Cadrul YII2. Dezvoltarea rapidă a cadrelor moderne PHP

Explorați moderne subtilitățile cadru de dezvoltare web folosind YII2

cod MySQL, precum și orice alte informații în tehnologia informatică, este definită printr-o combinație de unul și de zero biți de formare. Îți amintești? Este elementele de bază ale științei calculator, am plecat toți la școală.

În lume există multe codificări text (combinații de 0 și 1), dar în timpurile moderne, acestea sunt mai mult sau mai puțin standardizate. Deși este posibil acum să se poticnească pe „Abracadabra“, dacă este setat corect codificarea.

Baza de date MySQL Encoding - cum să-l recunoască și de ce este nevoie

În acest stadiu de dezvoltare a World Wide Web este cel mai frecvent tip de codificări 3:

Pentru noi cea mai importantă bază de date MySQL codificate este UTF-8. Acest lucru înseamnă că se folosește Unicode pe 8 biți pentru a reprezenta toate caracterele. Datorită suportului larg al codificării pe web și la nivel de aplicație, puteți fi siguri că înregistrările din baza de date vor fi stocate într-o formă care poate fi citit (fără „Abracadabra“).

În cazul în care să-l caute?

Un pic alerga prin interfața phpMyAdmin. Mergând pe prima pagină a programului, să acorde o atenție la secțiunea „Setări generale“.

Baza de date MySQL Encoding - cum să-l recunoască și de ce este nevoie

Accesând „Codificarea Compararea legătură cu MySQL» seturi, cu care de codificare ar trebui să fie comparat formatul datelor când este conectat la un server de baze de date. În acest program de coajă de codificare poate fi setată manual.

Utilitatile „native“ baza de date (mysqladmin, mysqlimport și altele) care codifică tabele MySQL preluate din setările sistemului de operare al PC-ului. În absența acestora este setată la valoarea implicită. Cel mai adesea, această codificare Latin1.

La conectarea la o bază de date pe partea de client folosind valorile de mai multe variabile de sistem, spune MySQL, ce tip de codificare pentru a utiliza în prelucrarea și afișarea datelor din baza de date.

Variabilele de sistem și valorile lor

Arhitectura MySQL se bazează pe „client-server“. Variabile de sistem (sau mai degrabă valorile lor) utilizate pentru a instala conexiuni client-server și pentru afișarea corectă a tuturor prelucrare a datelor și de a menține sesiunea de rețea.

„Cu toate acestea,“ selectați „variabilă“, pentru a se familiariza cu valorile prescrise ale variabilelor din sistemul de baze de date phpMyAdmin este necesară în ultimul paragraf din meniul de sus.

Baza de date MySQL Encoding - cum să-l recunoască și de ce este nevoie

Baza de date MySQL Encoding - cum să-l recunoască și de ce este nevoie

O listă a tuturor variabilelor (inclusiv cele care sunt necesare pentru a configura codificarea MySQL) pot fi obținute cu ajutorul comenzii afișează variabile.

Baza de date MySQL Encoding - cum să-l recunoască și de ce este nevoie

Cadrul YII2. Dezvoltarea rapidă a cadrelor moderne PHP

Explorați moderne subtilitățile cadru de dezvoltare web folosind YII2

Baza de date MySQL Encoding - cum să-l recunoască și de ce este nevoie

Să ne întoarcem pentru a obține o listă de variabile, și să se concentreze asupra celor care încep cu setul de caractere. O scurtă descriere a celor care pot fi utile:

character_set_client - codificare este specificată, în care datele de pe partea de client va veni.

character_set_connection - setează codarea conexiunii.

Simbolurile character_set_database -Set utilizate în baza de date implicită.

character_set_results - codificare, în care serverul trimite datele către client.

character_set_server -ispolzuemaya implicit pe server.

Aici, înainte de a descrie următorul grup de variabile necesare pentru modul de a învăța de codificare baza de date MySQL, ar trebui să se îngropa în teorie.

Prin codare ne referim la un set de caractere folosite pentru a defini structuri de date (baze de date, tabele, câmpuri). Dar există un astfel de lucru ca „performanță» (colaționare), care corespunde unei anumite limbi și este utilizat pentru compararea și ordonarea înregistrărilor.

De exemplu, există o codare UTF-8. Există mai multe idei într-o singură codificare. Nu puteți compara datele „prezentate“ în diferite seturi de caractere. Acest lucru poate fi efectuat numai într-o singură codificare. 3 variabile ca timp și arată prezentarea.

Baza de date MySQL Encoding - cum să-l recunoască și de ce este nevoie

comparații permiși pentru o anumită codificare în instanța de server curent, puteți afla folosind echipa show-colaționare. De exemplu:

Baza de date MySQL Encoding - cum să-l recunoască și de ce este nevoie

Ierarhia în seturile de caractere de bază de date

Codificarea în MySQL, ca întreaga structură a bazei de date, sunt aranjate ierarhic. Pentru fiecare coloană a tabelului și baza poate fi instalat propriul set de caractere. Dacă nu este specificat, acesta va fi codat în elementul superior al ierarhiei. De exemplu, dacă nu setați codificarea pentru masă, pentru toate zaptsey sa utilizeze setul de caractere specificat pentru baza de date.

Acum, un pic de must și executați o interogare cu care codifică tabelul de informații obțină și toate coloanele sale. În exemplul am folosi un tabel din lume baza de date:

Baza de date MySQL Encoding - cum să-l recunoască și de ce este nevoie

Exemplul arată că tabelul -latin1 codificare MySQL. Să încercăm să-l schimbe folosind comanda ALTER TABLE:

Acum vom arăta din nou CREATE, și să vedem ce se întâmplă:

Baza de date MySQL Encoding - cum să-l recunoască și de ce este nevoie

După cum puteți vedea, codificarea sa schimbat în utf8. Dar asta nu este de ajuns! Noi, victoria cu aripi, ne grăbim să se bazeze pe succesul lor, și de a schimba numele setului de caractere coloană:

Din nou, verificați codarea MySQL:

Baza de date MySQL Encoding - cum să-l recunoască și de ce este nevoie

S-a schimbat la o multitudine predeterminată. Ei bine, suficient pentru ziua de azi! Am fost cu tine noțiunile de bază codificările baze de date MySQL. Cred că minim ar fi de ajuns să nu recurgă la „litroterapii“. Oricum, această „terapie“ este greu să contribuie la rezolvarea oricărei probleme.

Baza de date MySQL Encoding - cum să-l recunoască și de ce este nevoie

Cadrul YII2. Dezvoltarea rapidă a cadrelor moderne PHP

Explorați moderne subtilitățile cadru de dezvoltare web folosind YII2

Cele mai multe știri IT si dezvoltare web pe canalul nostru-Telegram