Schema de codare și ordonare
Începând cu versiunea 4.1, MySQL suportă o mulțime de seturi de caractere și scheme prin care se dispune, inclusiv multi-octet și Unicode UTF-8 caractere (MySQL suportă un subset al trei-byte UTF-8 este suficientă pentru a reprezenta practic toate caracterele în cele mai multe limbi). Aflați ce codificări sunt acceptate, permite comenzile SHOW SET CARACTERE și SHOW colaționare.
La alegerea schemelor de ordonare, de obicei, provin de la modul de sortare litere: sensibile sau majuscule, în conformitate cu codul binar. În consecință, numele schemelor prin care se dispune ca pra-
De regulă, se termină în _cs, _ci ili_bin pentru a determina rapid
la oricare dintre cele trei grupuri din care fac parte.
Atunci când este specificat în mod explicit, și nu este necesară codificarea pentru a specifica numele de codificare, și numele de comanda schemă. În cazul în care unul sau ambele nume sunt omise, MySQL completează setările implicite lipsă. Tabel. 5.2 arată modul în care MySQL decide cu privire la alegerea sistemului de codificare și de ordonare.
Tabelul 5.2. Cum MySQL determină schema de codificare și ordinea prestabilită
Mai jos prezinta comenzi pentru a crea o bază de date, de masă, și coloana cu codificare explicită și schema de ordonare:
CREATE DATABASE d CHARSET latin1;
CREATE TABLE d.t (CHAR col1 (1),
Păstrați-l simplu amestec de diferite seturi de caractere într-o singură bază de date ar putea duce la haos. Incompatibil de codificare sunt sursa de o varietate de erori. Totul poate fi bine, atâta timp cât datele nu îndeplinește un caracter special, și apoi începe complexitatea la efectuarea anumitor operațiuni (de exemplu, la conectarea tabelelor). Pentru a rezolva această problemă trebuie să fie execute o comanda ALTER TABLE, pentru a converti coloane la codificare compatibile, sau exprimate pentru a efectua schema de codificare corespunzătoare și prin care se dispune fiecare SQL-comandă.
col2 CHAR (1) utf8 CHARSET, CHAR Col3 (1) COLLATE latin1_bin) DEFAULT CHARSET = cp1251;
În tabelul următor schema ordonare rezultată va fi aplicată coloanelor:
mysql> SHOW COLOANE completă din d.t;