Mfumo wa usimamizi wa hifadhidata ya Mysql, kuanzia toleo la 4.1, inasaidia kufanya kazi na usimbuaji. Shida kuu nao hutoka wakati wa kuunganisha hifadhidata na Php. Katika kesi hii, usimbuaji wa yaliyomo kwenye msingi na unganisho lazima yalingane.
Maagizo
Hatua ya 1
Kumbuka kuwa sababu ya kawaida ya shida na Mysql ni kwamba usimbuaji wa hifadhidata wa hifadhidata umewekwa kwa latin1. Wateja wengi waliounganishwa pia wameisanidiwa, unaingiza data na uone matokeo ukitumia pia. Ingawa usimbuaji huu unaonyesha alfabeti ya Cyrillic kwa usahihi, nambari za jedwali la ishara ndani yake hazilingani na herufi halisi za Kicyrillic. Kwa hivyo, kutafuta na kuchagua data kunaweza kutoa matokeo yasiyotabirika kabisa.
Hatua ya 2
Badilisha usimbuaji wa hifadhidata kuwa ule ambao unaonyesha kwa usahihi herufi za Cyrillic, kwa mfano, utf-8 au cp1251 Ili kufanya hivyo, badilisha data kutoka usimbuaji Kilatini1 kuwa cp1251. Usitumie ubadilishaji rahisi wa data, kwani nambari za wahusika sio sahihi. Kwa hivyo, unahitaji kuondoa kufungwa kwa encoding. Ili kufanya hivyo, badilisha data na aina ya tabia kuwa data ya binary. Tumia swala Jedwali la kubadilisha "Ingiza jina la jedwali" t1 badilisha c1 c1 blob.
Hatua ya 3
Endesha swala ili ubadilishe usimbuaji wa hifadhidata ya Mysql, kwa matumizi haya mfano ufuatao: Badilisha jedwali "Ingiza jina la jedwali" t1 badilisha c1 c1 maandishi ya mazungumzo ya kuweka "Ingiza jina la usimbuaji unaotaka, kwa mfano, cp1251". Hakuna hata moja ya data iliyobadilishwa kimwili, lakini sheria ya kuunda wahusika hubadilika. Baadaye, kubadilisha usimbuaji wa hifadhidata, unaweza kutumia swala rahisi la ubadilishaji data.
Hatua ya 4
Tafadhali kumbuka kuwa wakati wa kubadilisha usimbuaji wa meza kwenye uwanja ulio na faharisi, lazima uifute na kuirudisha, i.e. kujenga upya katika meza zote za hifadhidata. Unapobadilisha usimbuaji, hakikisha wateja wa kuona wanaunga mkono unicode. Kwa mfano, mteja wa SQLyog huonyesha vibaya yaliyomo kwenye meza ambazo zinahifadhi data kwenye usimbuaji wa utf-8.