Cum de a schimba setul de caractere de bază de date - cum se schimba site-ul DLE de codificare de la ferestre-1251 la utf-8 software-ul

Vă rugăm să rețineți că, de obicei, cauza probleme cu Mysql este că codificarea implicită pentru baza de date este atribuit Latin1. Cei mai mulți dintre clienți aflați în legătură configurat pe ea, vă face datele și pentru a vizualiza rezultatele, de asemenea, cu utilizarea sa. Deși această codificare și în mod corect a afișa alfabetul chirilic, dar codurile de caractere din tabel nu corespunde cu caractere chirilice reale. Prin urmare, căutarea și datele de sortare pot elibera rezultate complet imprevizibile.

Efectuați modificări la codificarea bazei de date la unul care afișează corect caracterele chirilice, de exemplu, utf-8, sau cp1251. Pentru a face acest lucru, pentru a converti datele din caracterul Latin1 setat la cp1251. Nu utilizați aceste date de conversie simplu ca coduri de caractere sunt incorecte. Prin urmare, trebuie să scape de legarea lor de codificare. Pentru a face acest lucru, conversia datelor, și un tip de caracter în datele binare. Utilizați interogare Alter tabel «Tastați numele de masă» schimbare t1 c1 c1 Blob.

Executați interogarea pentru a schimba baza de date Mysql de codificare, pentru a face acest lucru, utilizați următorul exemplu: Alter tabel «Tastați numele de masă» schimbare t1 c1 chatacter de text c1 setat «Introduceți numele codificării dorită, de exemplu, cp1251». Nu schimba punct de vedere fizic, fie un octet de date, și de a schimba regulile de formare a caracterului. În următoarele modificări la codificarea bazei de date, puteți utiliza un simplu solicitare de conversie a datelor.

Vă rugăm să rețineți, dacă modificați seturi de caractere în câmpul tabel care conține indici, trebuie să le eliminați și re-creat, și anume reconstrui toate tabelele bazei de date. În trecerea la codificarea, asigurați-vă că clienții vizuale sprijini unicode. De exemplu, clientul incorect SQLyog afișează conținutul tabelelor care stochează datele codificate UTF-8.