El sistema de gestió de bases de dades Mysql, a partir de la versió 4.1, admet treballar amb codificacions. Els principals problemes que es plantegen sorgeixen en connectar una base de dades amb Php. En aquest cas, la codificació del contingut de la base i la connexió han de coincidir.
Instruccions
Pas 1
Tingueu en compte que una de les causes més habituals de problemes amb Mysql és que la codificació per defecte de les bases de dades s'estableix a latin1. La majoria dels clients connectats també estan configurats per a això, introduïu dades i visualitzeu-ne els resultats també. Tot i que aquesta codificació mostra correctament l’alfabet ciríl·lic, els codis de la taula de símbols que hi ha no corresponen als caràcters ciríl·lics reals. Per tant, cercar i ordenar dades pot produir resultats completament imprevisibles.
Pas 2
Canvieu la codificació de la base de dades a una que mostri correctament els caràcters ciríl·lics, per exemple, utf-8 o cp1251. Per fer-ho, convertiu les dades de la codificació Latin1 a cp1251. No utilitzeu una simple conversió de dades, ja que els codis de caràcters són incorrectes. Per tant, heu d’eliminar la seva vinculació de codificació. Per fer-ho, convertiu les dades i el tipus de caràcter en dades binàries. Utilitzeu la consulta Alteritza la taula "Introduïu el nom de la taula" t1 canvieu blob c1 c1.
Pas 3
Executeu una consulta per canviar la codificació de la base de dades Mysql; utilitzeu l'exemple següent: Alteritza la taula "Introduïu el nom de la taula" t1 canvieu c1 c1 text chat set set "Introduïu el nom de la codificació desitjada, per exemple cp1251". No es canvia físicament ni un byte de dades, sinó que canvia la regla de formació de caràcters. Posteriorment, per canviar la codificació de la base de dades, podeu utilitzar una simple consulta de conversió de dades.
Pas 4
Tingueu en compte que quan canvieu les codificacions de taula en un camp que conté índexs, heu de suprimir-les i recrear-les, és a dir, reconstrueix a totes les taules de bases de dades. Quan canvieu a codificació, assegureu-vos que els clients visuals admetin Unicode. Per exemple, el client SQLyog mostra incorrectament el contingut de les taules que emmagatzemen dades en la codificació utf-8.