Sustav upravljanja bazom podataka Mysql, počevši od verzije 4.1, podržava rad s kodiranjima. Glavni problemi s njima nastaju pri povezivanju baze podataka s Php-om. U tom slučaju, kodiranje sadržaja baze i veze mora se podudarati.
Upute
Korak 1
Imajte na umu da je čest uzrok problema s Mysqlom taj što je zadano kodiranje za baze podataka postavljeno na latin1. Većina povezanih klijenata također je konfigurirana za to, vi unosite podatke i pregledavate rezultate koristeći ih također. Iako ovo kodiranje ispravno prikazuje ćirilicu, kodovi tablice simbola u njoj ne odgovaraju stvarnim ćirilicama. Stoga pretraga i sortiranje podataka mogu 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 netočni. Stoga se morate riješiti njihovog vezanja kodiranja. Da biste to učinili, pretvorite podatke i vrstu znakova u binarne podatke. Upotrijebite upit Promijenite tablicu "Unesite naziv tablice" t1 promijenite c1 c1 blob.
3. korak
Pokrenite upit za promjenu kodiranja baze podataka Mysql, za to upotrijebite sljedeći primjer: Promijenite tablicu "Unesite naziv tablice" t1 promijenite c1 c1 tekst chatacter set "Unesite naziv željenog kodiranja, na primjer, cp1251". Niti jedan 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.
4. korak
Napominjemo da prilikom promjene kodiranja tablice u polju koje sadrži indekse morate ih izbrisati i ponovno stvoriti, tj. obnoviti u svim tablicama baze podataka. Pri prelasku na kodiranje, provjerite podržavaju li vizualni klijenti unicode. Na primjer, SQLyog klijent pogrešno prikazuje sadržaj tablica koje pohranjuju podatke u utf-8 kodiranju.