Sistem upravljanja bazom podataka Mysql, počevši od verzije 4.1, podržava rad s kodiranjima. Glavni problemi s njima nastaju prilikom povezivanja baze podataka s Php-om. U ovom slučaju, kodiranje sadržaja baze i veze mora se podudarati.
Instrukcije
Korak 1
Imajte na umu da je čest uzrok problema s Mysqlom taj što je zadani kodiranje za baze podataka postavljen na latin1. Većina povezanih klijenata je također konfigurirana za to, vi unosite podatke i pregledavate rezultate koristeći ih također. Iako ovo kodiranje ispravno prikazuje ćirilicu, kodovi tablice simbola u njemu ne odgovaraju stvarnim ćirilicama. Stoga pretraživanje i sortiranje podataka može dati potpuno nepredvidive rezultate.
Korak 2
Promijenite kodiranje baze podataka u ono koje ispravno prikazuje ćirilične znakove, na primjer, utf-8 ili cp1251. Da biste to učinili, pretvorite podatke iz kodiranja Latin1 u cp1251. Ne koristite jednostavnu pretvorbu podataka, jer su kodovi znakova netačni. Stoga se morate riješiti njihovog vezivanja za kodiranje. Da biste to učinili, pretvorite podatke i tip znaka u binarne podatke. Upotrijebite upit Promijenite tablicu "Unesite ime tablice" t1 promijenite c1 c1 blob.
Korak 3
Pokrenite upit za promjenu kodiranja baze podataka Mysql, za ovo koristite sljedeći primjer: Promijenite tablicu "Unesite ime tablice" t1 promijenite c1 c1 tekst chatacter set "Unesite ime željenog kodiranja, na primjer, cp1251". Nijedan bajt podataka se fizički ne mijenja, ali pravilo oblikovanja znakova se mijenja. Nakon toga, za promjenu kodiranja baze podataka, možete koristiti jednostavan upit za pretvorbu podataka.
Korak 4
Imajte na umu da prilikom promjene kodiranja tablice u polju koje sadrži indekse, morate ih izbrisati i ponovno stvoriti, tj. obnova u svim tablicama baze podataka. Pri prelasku na kodiranje, pobrinite se da vizualni klijenti podržavaju unicode. Na primjer, SQLyog klijent pogrešno prikazuje sadržaj tablica koje pohranjuju podatke u utf-8 kodiranju.