Sistemul de gestionare a bazei de date Mysql, începând cu versiunea 4.1, acceptă lucrul cu codificări. Principalele probleme cu acestea apar atunci când conectați o bază de date cu Php. În acest caz, codificarea conținutului bazei și a conexiunii trebuie să se potrivească.
Instrucțiuni
Pasul 1
Rețineți că o cauză comună a problemelor cu Mysql este că codificarea implicită pentru bazele de date este setată la latin1. Majoritatea clienților conectați sunt, de asemenea, configurați pentru aceasta, introduceți date și vizualizați rezultatele folosind și ele. Deși această codificare afișează corect alfabetul chirilic, codurile tabelului de simboluri din acesta nu corespund cu caracterele chirilice reale. Prin urmare, căutarea și sortarea datelor pot produce rezultate complet imprevizibile.
Pasul 2
Schimbați codificarea bazei de date la una care afișează corect caractere chirilice, de exemplu, utf-8 sau cp1251. Pentru a face acest lucru, convertiți datele din codarea Latin1 în cp1251. Nu utilizați conversia simplă a datelor, deoarece codurile de caractere sunt incorecte. Prin urmare, trebuie să scăpați de legarea lor de codificare. Pentru a face acest lucru, convertiți datele și tipul de caracter în date binare. Utilizați interogarea Modificare tabel „Introduceți numele tabelului” t1 schimbați blobul c1 c1.
Pasul 3
Executați o interogare pentru a schimba codarea bazei de date Mysql, pentru aceasta utilizați următorul exemplu: Modificați tabelul „Introduceți numele tabelului” t1 modificați c1 c1 text chat set set „Introduceți numele codificării dorite, de exemplu, cp1251”. Nu este modificat fizic niciun octet de date, dar se modifică regula formării caracterelor. Ulterior, pentru a modifica codificarea bazei de date, puteți utiliza o interogare simplă de conversie a datelor.
Pasul 4
Vă rugăm să rețineți că atunci când schimbați codificările tabelelor într-un câmp care conține indici, trebuie să le ștergeți și să le recreați, adică reconstruiți în toate tabelele bazei de date. Când treceți la codificare, asigurați-vă că clienții vizuali acceptă unicode. De exemplu, clientul SQLyog afișează incorect conținutul tabelelor care stochează date în codificarea utf-8.