Mysqli andmebaaside haldussüsteem alates versioonist 4.1 toetab tööd kodeeringutega. Peamised probleemid nendega tekivad andmebaasi ühendamisel Php-ga. Sellisel juhul peavad aluse sisu ja ühenduse kodeeringud vastama.
Juhised
Samm 1
Pange tähele, et Mysql-i probleemide levinud põhjus on see, et andmebaaside vaikekodeeringuks on seatud ladina1. Enamik ühendatud klientidest on selle jaoks ka konfigureeritud, sisestate andmed ja näete tulemusi ka seda kasutades. Kuigi see kodeering näitab kirillitsa tähestikku õigesti, ei vasta selles olev sümbolitabeli koodid tegelikele kirillitsa tähtedele. Seetõttu võib andmete otsimine ja sortimine anda täiesti ettearvamatuid tulemusi.
2. samm
Muutke andmebaasi kodeering selliseks, mis õigesti näitaks kirillitsat, näiteks utf-8 või cp1251. Selleks teisendage Latin1 kodeeringust saadud andmed cp1251-ks. Ärge kasutage lihtsat andmete teisendamist, kuna märgikoodid on valed. Seetõttu peate nende kodeerivast sidumisest lahti saama. Selleks teisendage andmed ja tähemärgi tüüp binaarandmeteks. Kasutage päringut Muuda tabelit "Sisestage tabeli nimi" t1 muutke c1 c1 plekki.
3. samm
Käivitage päring Mysql andmebaasi kodeeringu muutmiseks. Selleks kasutage järgmist näidet: tabeli muutmine "tabeli nime sisestamine" t1 muutus c1 c1 tekstvestrite komplekt "sisestage soovitud kodeeringu nimi, näiteks cp1251". Füüsiliselt ei muudeta ühtegi andmebaidi, kuid tähemärkide moodustamise reegel muutub. Seejärel saate andmebaasi kodeeringu muutmiseks kasutada lihtsat andmete teisendamise päringut.
4. samm
Pange tähele, et indekseid sisaldava välja tabelikodeeringute muutmisel peate need kustutama ja uuesti looma, st. taastada kõigis andmebaasitabelites. Kodeerimisele üleminekul veenduge, et visuaalsed kliendid toetaksid unicode'i. Näiteks kuvab SQLyogi klient valesti tabelite sisu, mis talletavad andmeid utf-8 kodeeringus.