Sistemi i menaxhimit të bazës së të dhënave Mysql, duke filluar nga versioni 4.1, mbështet punën me kodifikimet. Problemet kryesore me to lindin kur lidhni një bazë të dhënash me Php. Në këtë rast, kodimi i përmbajtjes së bazës dhe lidhja duhet të përputhen.
Udhëzimet
Hapi 1
Vini re se një shkak i zakonshëm i problemeve me Mysql është që kodimi i paracaktuar për bazat e të dhënave është vendosur në latin1. Shumica e klientëve të lidhur janë konfiguruar gjithashtu për të, ju futni të dhëna dhe shikoni rezultatet duke përdorur gjithashtu ato. Megjithëse ky kodim tregon saktë alfabetin cirilik, kodet e tabelës së simbolit në të nuk korrespondojnë me karakteret e vërteta cirilike. Prandaj, kërkimi dhe klasifikimi i të dhënave mund të prodhojë rezultate krejtësisht të paparashikueshme.
Hapi 2
Ndryshoni kodimin e bazës së të dhënave në një që tregon saktë karaktere cirilike, për shembull, utf-8 ose cp1251. Për ta bërë këtë, shndërroni të dhënat nga kodimi Latin1 në cp1251. Mos përdorni konvertim të thjeshtë të të dhënave, pasi kodet e karakterit janë të pasakta. Prandaj, duhet të heqni qafe detyrimin e tyre të kodimit. Për ta bërë këtë, shndërroni të dhënat dhe llojin e karakterit në të dhëna binare. Përdorni pyetjen Alter tryezë "Vendos emrin e tabelës" t1 ndrysho blloqe c1 c1.
Hapi 3
Bëni një pyetje për të ndryshuar kodimin e bazës së të dhënave Mysql, për këtë përdorni shembullin e mëposhtëm: Ndrysho tabelën "Vendos emrin e tabelës" t1 ndrysho c1 c1 tekstin e chatacter "Fut emrin e kodimit të dëshiruar, për shembull, cp1251". Asnjë bajt i vetëm i të dhënave nuk ndryshon fizikisht, por rregulli i formimit të karaktereve ndryshon. Më pas, për të ndryshuar kodimin e bazës së të dhënave, mund të përdorni një pyetje të thjeshtë për konvertimin e të dhënave.
Hapi 4
Ju lutemi vini re se kur ndryshoni kodimet e tryezës në një fushë që përmban indekse, duhet t'i fshini dhe t'i rikrijoni, d.m.th. rindërtoni në të gjitha tabelat e bazës së të dhënave. Kur kaloni në kodim, sigurohuni që klientët vizualë të mbështesin unicode. Për shembull, klienti SQLyog shfaq gabimisht përmbajtjen e tabelave që ruajnë të dhëna në kodimin utf-8.