Sistem za upravljanje baz podatkov Mysql od različice 4.1 podpira delo s kodiranji. Glavne težave z njimi nastanejo pri povezovanju baze podatkov s Php. V tem primeru se morata kodirati vsebina osnovne enote in povezave.
Navodila
Korak 1
Upoštevajte, da je pogost vzrok težav z Mysql ta, da je privzeto kodiranje za baze podatkov nastavljeno na latin1. Zanj je konfigurirana tudi večina povezanih odjemalcev, vnesete podatke in si z njimi ogledate tudi rezultate. Čeprav to kodiranje pravilno prikazuje cirilico, kode tabele s simboli v njej ne ustrezajo resničnim cirilicam. Zato lahko iskanje in razvrščanje podatkov prineseta popolnoma nepredvidljive rezultate.
2. korak
Kodiranje baze podatkov spremenite v tisto, ki pravilno prikazuje cirilice, na primer utf-8 ali cp1251. Če želite to narediti, pretvorite podatke iz kodiranja Latin1 v cp1251. Ne uporabljajte preproste pretvorbe podatkov, saj so kode znakov napačne. Zato se morate znebiti njihove kodirane vezave. Če želite to narediti, pretvorite podatke in vrsto znakov v binarne podatke. Uporabite poizvedbo Spremeni tabelo "Vnesi ime tabele" t1 spremeni c1 c1 blob.
3. korak
Zaženite poizvedbo za spremembo kodiranja baze podatkov Mysql, za to uporabite naslednji primer: Spremenite tabelo "Vnesite ime tabele" t1 spremenite c1 c1 besedilo chatacter set "Vnesite ime želenega kodiranja, na primer cp1251". Fizično se ne spremeni niti en bajt podatkov, spremeni pa se pravilo oblikovanja znakov. Nato lahko za spremembo kodiranja baze podatkov uporabite preprosto poizvedbo za pretvorbo podatkov.
4. korak
Upoštevajte, da jih morate pri spreminjanju kodiranja tabel v polju, ki vsebuje indekse, izbrisati in znova ustvariti, tj. obnovi vse tabele baz podatkov. Ko preklopite na kodiranje, poskrbite, da vizualni odjemalci podpirajo unicode. Na primer, odjemalec SQLyog nepravilno prikaže vsebino tabel, ki shranjujejo podatke v kodiranju utf-8.